Python
filter 過濾參數
list(filter(lambda s: not s.startswith("_"), list0)) # 對 list 進行過濾,返回符合條件的 結果列表
#使用 regex 查找並返回有 orders 的 列表item ,返回只有 orders 的列表
#1
regex = re.compile(r'orders.')
ll = list(filter(regex.search, list0))
#2
ll = list(filter(lambda x:re.findall('orders',x), list0))
數值替換
# 在數據處理過程中用到了除法,並且出現了除數爲0,導致出現inf,而數據庫不支持寫入該值
df_d = df_d.replace([np.inf, -np.inf], 1) # 第一次出現 - 1
df_d = df_d.replace([np.inf, -np.inf], np.nan) # 空值 ,上述代碼將處理結果中的正無窮和負無窮都替換爲空值,最後寫入到數據爲中的爲null值
df_d.fillna(0) # 替換 NaN 爲 0
讀文件
df = pd.read_csv('D:/Temp/XYZ.csv')
寫文件
df_r.to_csv() #寫入CSV
插入
DataFrame.insert(loc, column, value, allow_duplicates=False) # 插入一列
jobs = ['student','AI','teacher']
df['job'] = jobs #默認在df最後一列加上column名稱爲job,值爲jobs的數據
數據類型
print(dataframe.dtypes) #查看column 的數據類型
df["A"]=df["A"].astype("int") # 進行數據表格的數據類型轉換需要用到數據類型轉換函數df["列名稱"].astype("類型名稱”)
df_pe['A'] = df_pe['A'].apply(lambda x:x.replace(',','')).astype(float) # 轉換有逗號,的數值爲 float
df = df.rename( columns={ 'A':'aa', 'C':'cc' }) # 對Column 重命名
dfr.columns=['A','B'] #rename the datafram column of every column, when we don't know exactly the column name
數據合併
df = pd.merge(df_search,df_pe, on=['col1','col2'], how='outer' , suffixes=('','')) # out join 數據左右連接,suffixes 爲合併後的左表和右表的後綴
索引
df.reset_index(drop=False) # False - transform the Index to normal fields, True - Drop the Index
統計
df_f['sum'] = df_f.apply(lambda x: x.sum(), axis=1) # 對所有的agg以後的數值列求和,插入一列
df['sum'] =df['2020-03-30'].add(df['2020-03-31'], fill_value=0) #按列相加,NaN 的地方 用 0 填充