Pandas用途
高效處理結(jié)構(gòu)化數(shù)據(jù)太示,方便于數(shù)據(jù)導(dǎo)入、清理香浩、建模类缤、可視化。
- 缺失數(shù)據(jù)的處理
- 數(shù)據(jù)的插入刪除
- 分組聚合查詢
- 切片邻吭、索引呀非、截取
- 合并、連接數(shù)據(jù)
- ...
Pandas常見用法
導(dǎo)入镜盯、導(dǎo)出數(shù)據(jù)
pd.readcsv()
pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, prefix=None, encoding=None)
delimiter: 定界符岸裙,備選分隔符(如果指定該參數(shù),則sep參數(shù)失效)
header: 默認(rèn)設(shè)置為0(即第一行作為表頭)速缆,如果沒有表頭的話降允,要修改參數(shù),設(shè)置header=None
names:一般我們沒有表頭艺糜,即header=None時剧董,這個用來添加列名
prefix:給列名添加前綴
pd.tocsv()
pd.tocsv(filepath_or_buffer, sep=',', na_rep=None, columns=None,
header=0, index=True)
na_rep: 字符串,將NaN轉(zhuǎn)換為特定值
columns: 列表破停,指定哪些列寫進(jìn)去
index: 關(guān)于索引的翅楼,默認(rèn)True,寫入索引
查看數(shù)據(jù)
# 頂部
df.head()
# 概覽,默認(rèn)只describe數(shù)值型列;
df.describe(include='all')
# 按軸排序
df.sort_index(axis=0, ascending=False)
# 按值排序
df.sort_value(by='column3')
選擇數(shù)據(jù)(過濾數(shù)據(jù)實用真慢!)
# df.column3
df['column3']
# 切片, 行列切片
df[0:3,5:10]
# 按標(biāo)簽選擇
df.loc[;,['A', 'B']]
# 按位置選擇,按照隱藏索引選擇
df.iloc[0:5, 0:2]
# 過濾數(shù)據(jù)毅臊, 類似于sql的條件查詢
df[df['columnA'] > 0]
# isin方法過濾
df[df['columnA'].isin(['1', '2', '10'])]
缺失值處理
# 只要行列出現(xiàn)空缺值,就刪除黑界;
df.dropna(how='any')
# 當(dāng)整個行或列出現(xiàn)NaN就刪除管嬉;
df.dropna(how='all')
# 填充缺失值
df.fillna(value='missing')
數(shù)據(jù)操作
# apply應(yīng)用, 需要傳遞一個func
df.apply(lambda x: x.max() - x.min())
# 針對當(dāng)前列的值進(jìn)行統(tǒng)計計數(shù)
df['columnA'].value_counts()
合并數(shù)據(jù)
# 左連接,合并兩個相同id的df表格,以左邊的為基準(zhǔn)朗鸠;(類似于sql的左連接)
pd.merge(left_df, right_df, on='_id', how='left')
分組
# 分組求和蚯撩,常用級別
df.groupby('columnA').sum()
繪圖
df.plot.bar(df['columnA'])
plt.figure()
plt.legend()
更多參考:中文官網(wǎng)