瞭解這些,讓你的pandas資料分析更流暢
技術標籤:Python資料分析方法資料處理縮排批量修改去重刪除列pivot_table
更多文章可關注微信公眾號:excelwork
現在越來越多的資料分析和處理工作藉助Python來實現,而在每一次新的工作專案開展,總會遇到各種各樣的問題,所以,不可避免要經常學會總結,順便分享下。
基礎資料
data示例(24*5)
快速定位問題?
哪些操作
1/8
使用pivot_table後,多索引欄位下,會出現合併單元格,怎麼辦?
c1=data.pivot_table(index=['銷售區域','銷售日期'],values=['營銷費用:萬','銷售金額:萬'],aggfunc=np.sum)
如何解決?
使用reset_index函式
結果如下:
2/8
第一列序號列很多餘,怎麼剔除?
如何解決?
c2.to_excel(path+'result.xlsx',index=False)
結果如下:
3/8
資料通過pivot_table透視後,彙總量變少了怎麼回事?
預設不計算空值,如果需要計算,則需要將空值替換,比如替換為0,
不處理空值是這樣的,我們不知道空值有多少,影響多大:
如何解決?
dat.fillna(value=0,inplace=True)
結果如下:
4/8
快速刪除指定列,怎麼做?
如何解決?
使用drop函式刪除即可,如果想刪除多列,傳入個列表即可。
c2.drop('銷售金額:萬',axis=1)
這樣同樣有個問題,C2本身並未發生改變(後面會單獨更新一篇,詳細介紹),所以仍需設定可選引數inplace。
c2.drop('銷售金額:萬',axis=1,inplace=True)
結果如下:
5/8
提取出的列,裡面的值有重複怎麼辦?
如何解決?
可使用unique或者drop_duplicates函式
data.類別.unique()
data.類別.drop_duplicates()
結果如下:
6/8
如何給資料新增單位呢?
比如費用和銷售金額,如何快速新增單位呢(此處僅展示函式作用,無實際應用)?
如何解決?
藉助下apply函式快速搞定。
data['營銷費用:萬']=data['營銷費用:萬'].map(lambdax:f"{x}萬元")
data['銷售金額:萬']=data['銷售金額:萬'].map(lambdax:f"{x}萬元")
結果如下:
7/8
透視表多個欄位使用不同的函式,該如何實現呢?
上次介紹pivot_table的文章,沒把例子一一列舉,既然之前有被問到,正好在這裡說明下:
如何解決?
給aggfunc引數傳入個列表,這裡無實際場景意義。比如將營銷費用取最大值,銷售金額取最小值。
data.pivot_table(index='類別',values=['營銷費用:萬','銷售金額:萬'],
aggfunc={'營銷費用:萬':np.nanmax,'銷售金額:萬':np.nanmin})
結果如下:
8/8
最後介紹一個通用的快捷鍵組合,比如Python要求縮排,有些時候需要很多行程式碼需要處理,怎麼做呢?
如何解決?
縮排:tab
反縮排:shift+tab