python中pandas對多列進(jìn)行分組統(tǒng)計(jì)的實(shí)現(xiàn)
使用groupby([ ]).size()統(tǒng)計(jì)的結(jié)果,值相同的字段值會不顯示

如上圖所示,第一個空著的行是982499 7 3388 1,因?yàn)榇诵信c前面一行的這兩個字段值是一樣的,所以不顯示。第二個空著的行是390192 22 4278 1,因?yàn)榇诵信c前面一行的第一個字段值是一樣的,所以不顯示。這樣的展示方式更直觀,但對于剛用的人,可能會讓其以為是缺失值。
如果還不明白可以看下面的全部數(shù)據(jù)及操作。
import pandas as pd
res6 = pd.read_csv('test.csv')
res6.shape
(12, 3)
res6.columns
Index(['user_id', 'cate', 'shop_id'], dtype='object')
res6.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 12 entries, 0 to 11 Data columns (total 3 columns): user_id 12 non-null int64 cate 12 non-null int64 shop_id 12 non-null int64 dtypes: int64(3) memory usage: 368.0 bytes
res6.describe()
| user_id | cate | shop_id | |
|---|---|---|---|
| count | 1.200000e+01 | 12.000000 | 12.000000 |
| mean | 6.468688e+05 | 10.666667 | 3594.000000 |
| std | 3.988181e+05 | 6.665151 | 373.271775 |
| min | 2.421410e+05 | 7.000000 | 3388.000000 |
| 25% | 3.901920e+05 | 7.000000 | 3388.000000 |
| 50% | 4.938730e+05 | 7.000000 | 3388.000000 |
| 75% | 9.824990e+05 | 10.250000 | 3586.250000 |
| max | 1.558165e+06 | 23.000000 | 4278.000000 |
res6
| user_id | cate | shop_id | |
|---|---|---|---|
| 0 | 390192 | 20 | 4178 |
| 1 | 390192 | 23 | 4179 |
| 2 | 390192 | 22 | 4278 |
| 3 | 1021819 | 7 | 3388 |
| 4 | 242141 | 7 | 3388 |
| 5 | 283284 | 7 | 3388 |
| 6 | 1558165 | 7 | 3388 |
| 7 | 533696 | 7 | 3388 |
| 8 | 982499 | 7 | 3388 |
| 9 | 493873 | 7 | 3388 |
| 10 | 493873 | 7 | 3388 |
| 11 | 982499 | 7 | 3389 |
res6['user_id'].value_counts()
390192 3 982499 2 493873 2 242141 1 1021819 1 533696 1 1558165 1 283284 1 Name: user_id, dtype: int64
res6.groupby(['user_id']).size().sort_values(ascending=False)
user_id 390192 3 982499 2 493873 2 1558165 1 1021819 1 533696 1 283284 1 242141 1 dtype: int64
res6.groupby(['user_id', 'cate']).size().sort_values(ascending=False)
user_id cate
982499 7 2
493873 7 2
1558165 7 1
1021819 7 1
533696 7 1
390192 23 1
22 1
20 1
283284 7 1
242141 7 1
dtype: int64
res6_test = res6.groupby(['user_id', 'cate', 'shop_id']).size().sort_values(ascending=False) res6_test
user_id cate shop_id
493873 7 3388 2
1558165 7 3388 1
1021819 7 3388 1
982499 7 3389 1
3388 1
533696 7 3388 1
390192 23 4179 1
22 4278 1
20 4178 1
283284 7 3388 1
242141 7 3388 1
dtype: int64
到此這篇關(guān)于python中pandas對多列進(jìn)行分組統(tǒng)計(jì)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas多列分組統(tǒng)計(jì)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決python將xml格式文件轉(zhuǎn)換成txt文件的問題(xml.etree方法)
從數(shù)據(jù)分析的角度去看xml格式的數(shù)據(jù)集,具有簡單性,結(jié)構(gòu)和內(nèi)容分離、可擴(kuò)展性的特征,今天通過本文給大家分享python將xml格式文件轉(zhuǎn)換成txt文件的問題及解決方法(xml.etree方法),感興趣的朋友一起看看吧2021-09-09
Python用for循環(huán)實(shí)現(xiàn)九九乘法表
本文通過實(shí)例代碼給大家介紹了Python用for循環(huán)實(shí)現(xiàn)九九乘法表的方法,代碼簡單易懂,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05
Python爬取YY評級分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python爬取YY評級分?jǐn)?shù)并保存數(shù)據(jù)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
python中copy()與deepcopy()的區(qū)別小結(jié)
接觸python有一段時(shí)間了,一直沒有系統(tǒng)的學(xué)習(xí)過,也對copy,deepcoy傻傻的分不清,故抽出時(shí)間來理一下。 下面這篇文章主要給大家介紹了關(guān)于python中copy()與deepcopy()的區(qū)別的相關(guān)資料,需要的朋友可以參考下2018-08-08
簡單了解python調(diào)用其他腳本方法實(shí)例
這篇文章主要介紹了簡單了解python調(diào)用其他腳本方法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
基于Python實(shí)現(xiàn)文件的壓縮與解壓縮
在日常工作中,除了會涉及到使用Python處理文本文件,有時(shí)候還會涉及對壓縮文件的處理。本文為大家總結(jié)了利用Python可以實(shí)現(xiàn)的幾種文件壓縮與解壓縮實(shí)現(xiàn)代碼,需要的可以參考一下2022-03-03
Python使用Selenium獲取Web頁面信息的流程步驟
在 Web 自動化測試和數(shù)據(jù)抓取中,獲取頁面信息是一個基本且重要的操作,通過 Selenium,您可以輕松地獲取頁面的各種信息,這些信息不僅可以用于驗(yàn)證測試結(jié)果,還可以用于數(shù)據(jù)分析和處理,所以本文給大家介紹了Python使用Selenium獲取Web頁面信息的流程步驟2025-03-03

