1. 程式人生 > 其它 >瞭解這些,讓你的pandas資料分析更流暢

瞭解這些,讓你的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