Python | pandas 使用 速查

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 填充

Reference

Pandas對於CSV的簡單操作

python – 在列表中通過正則表達式過濾字符...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章