小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用Python做數(shù)據(jù)分析之?dāng)?shù)據(jù)篩選及分類匯總

 學(xué)掌門 2021-07-27

1、按條件篩選(與,或,非)

為數(shù)據(jù)篩選,使用與,或,非三個(gè)條件配合大于,小于和等于對(duì)數(shù)據(jù)進(jìn)行篩選,并進(jìn)行計(jì)數(shù)和求和。與 excel 中的篩選功能和 countifs 和 sumifs 功能相似。

Excel 數(shù)據(jù)目錄下提供了“篩選”功能,用于對(duì)數(shù)據(jù)表按不同的條件進(jìn)行篩選。Python 中使用 loc 函數(shù)配合篩選條件來完成篩選功能。配合 sum 和 count 函數(shù)還能實(shí)現(xiàn) excel 中 sumif 和 countif 函數(shù)的功能。

1)使用“與”條件進(jìn)行篩選

條件是年齡大于 25 歲,并且城市為 beijing。篩選后只有一條數(shù)據(jù)符合要求。

1#使用“與”條件進(jìn)行篩選

2df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]

2)使用“或”條件進(jìn)行篩選

年齡大于 25 歲或城市為 beijing。篩選后有 6 條數(shù)據(jù)符合要求。

1#使用“或”條件篩選

2df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']].sort

3(['age'])

3)求和

在前面的代碼后增加 price 字段以及 sum 函數(shù),按篩選后的結(jié)果將 price 字段值進(jìn)行求和,相當(dāng)于 excel 中 sumifs 的功能。

1 #對(duì)篩選后的數(shù)據(jù)按 price 字段進(jìn)行求和

2 df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'),

3 ['id','city','age','category','gender','price']].sort(['age']).price.sum()

4)使用“非”條件進(jìn)行篩選

城市不等于 beijing。符合條件的數(shù)據(jù)有 4 條。將篩選結(jié)果按 id 列進(jìn)行排序。

1#使用“非”條件進(jìn)行篩選

2df_inner.loc[(df_inner['city']

!= 'beijing'), ['id','city','age','category','gender']].sort(['id'])

在前面的代碼后面增加 city 列,并使用 count 函數(shù)進(jìn)行計(jì)數(shù)。相當(dāng)于 excel 中的 countifs 函數(shù)的功能。

1#對(duì)篩選后的數(shù)據(jù)按 city 列進(jìn)行計(jì)數(shù)

2df_inner.loc[(df_inner['city']

 != 'beijing'), ['id','city','age','category','gender']].sort(['id']).city.count()

還有一種篩選的方式是用 query 函數(shù)。下面是具體的代碼和篩選結(jié)果。

1#使用 query 函數(shù)進(jìn)行篩選

2df_inner.query('city == ['beijing', 'shanghai']')

在前面的代碼后增加 price 字段和 sum 函數(shù)。對(duì)篩選后的 price 字段進(jìn)行求和,相當(dāng)于 excel 中的 sumifs 函數(shù)的功能。

1 #對(duì)篩選后的結(jié)果按 price 進(jìn)行求和

2 df_inner.query('city == ['beijing', 'shanghai']').price.sum()

3 12230

2、數(shù)據(jù)匯總

接下來是對(duì)數(shù)據(jù)進(jìn)行分類匯總,Excel 中使用分類匯總和數(shù)據(jù)透視可以按特定維度對(duì)數(shù)據(jù)進(jìn)行匯總,python 中使用的主要函數(shù)是 groupby 和 pivot_table。下面分別介紹這兩個(gè)函數(shù)的使用方法。

1)分類匯總

Excel 的數(shù)據(jù)目錄下提供了“分類匯總”功能,可以按指定的字段和匯總方式對(duì)數(shù)據(jù)表進(jìn)行匯總。Python 中通過 Groupby 函數(shù)完成相應(yīng)的操作,并可以支持多級(jí)分類匯總。

Groupby 是進(jìn)行分類匯總的函數(shù),使用方法很簡單,制定要分組的列名稱就可以,也可以同時(shí)制定多個(gè)列名稱,groupby 按列名稱出現(xiàn)的順序進(jìn)行分組。同時(shí)要制定分組后的匯總方式,常見的是計(jì)數(shù)和求和兩種。

1 #對(duì)所有列進(jìn)行計(jì)數(shù)匯總

2 df_inner.groupby('city').count()

可以在 groupby 中設(shè)置列名稱來對(duì)特定的列進(jìn)行匯總。下面的代碼中按城市對(duì) id 字段進(jìn)行匯總計(jì)數(shù)。

1 #對(duì)特定的 ID 列進(jìn)行計(jì)數(shù)匯總

2 df_inner.groupby('city')['id'].count()

3 city

4 beijing 2

5 guangzhou 1

6 shanghai 2

7 shenzhen 1

8 Name: id, dtype: int64

在前面的基礎(chǔ)上增加第二個(gè)列名稱,分布對(duì) city 和 size 兩個(gè)字段進(jìn)行計(jì)數(shù)匯總。

1 #對(duì)兩個(gè)字段進(jìn)行匯總計(jì)數(shù)

2 df_inner.groupby(['city','size'])['id'].count()

3 city size

4 beijing A 1

5 F 1

6 guangzhou A 1

7 shanghai A 1

8 B 1

9 shenzhen C 1

10 Name: id, dtype: int64

除了計(jì)數(shù)和求和外,還可以對(duì)匯總后的數(shù)據(jù)同時(shí)按多個(gè)維度進(jìn)行計(jì)算,下面的代碼中按城市對(duì) price 字段進(jìn)行匯總,并分別計(jì)算 price 的數(shù)量,總金額和平均金額。

1 #對(duì) city 字段進(jìn)行匯總并計(jì)算 price 的合計(jì)和均值。

2 df_inner.groupby('city')['price'].agg([len,np.sum, np.mean])

2)數(shù)據(jù)透視

Excel 中的插入目錄下提供“數(shù)據(jù)透視表”功能對(duì)數(shù)據(jù)表按特定維度進(jìn)行匯總。Python 中也提供了數(shù)據(jù)透視表功能。通過 pivot_table 函數(shù)實(shí)現(xiàn)同樣的效果。

數(shù)據(jù)透視表也是常用的一種數(shù)據(jù)分類匯總方式,并且功能上比 groupby 要強(qiáng)大一些。下面的代碼中設(shè)定 city 為行字段,size 為列字段,price 為值字段。分別計(jì)算 price 的數(shù)量和金額并且按行與列進(jìn)行匯總。

1 #數(shù)據(jù)透視表

2pd.pivot_table(df_inner,index=['city'],values=['price'],columns=['size'],aggfunc=[len,np.sum],fill_value=0,margins=True)

文章來源:網(wǎng)絡(luò)  版權(quán)歸原作者所有

上文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系小編,我們將立即處理

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多