溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pandas怎么實現(xiàn)分組

發(fā)布時間:2021-08-17 20:24:18 來源:億速云 閱讀:124 作者:chen 欄目:云計算

這篇文章主要講解了“Pandas怎么實現(xiàn)分組”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Pandas怎么實現(xiàn)分組”吧!

創(chuàng)建測試數(shù)據(jù)框

import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3, 4], 'b': [5, 6, 7,8],'c': ['x', 'y', 'x','y'],'d':["one","two","three","two"]})
print(df)   a  b  c    d0  1  5  x  one1  2  6  y  two2  3  7  x  three3  4  8  y  two

計算以c列分組的,每組的平均值,非數(shù)值列將會被自動忽略

print(df.groupby(df["c"]).mean())
   a  bc      
x  2  6
y  3  7

多列分組

gb=df.groupby([df["c"],df["d"]])
print(gb)
<pandas.core.groupby.DataFrameGroupBy object at 0x0000000004A1DEB8>#groupby存儲的是分組信息,而不是分組的數(shù)據(jù)
for i,j in gb: print(i) print('-----------') print(j)('x', 'one') ----------- a b c d0  1  5  x  one('x', 'three') ----------- a b c d2  3  7  x  three('y', 'two') ----------- a b c d1  2  6  y  two
3  4  8  y  two

聚合函數(shù)agg()

print(df.groupby(df["c"]).agg(['min','max']))a       b        d       
  min max min max  min    maxc                            
x   1   3   5   7  one  threey   2   4   6   8  two    two

將結(jié)果返回到數(shù)據(jù)框transform

print(df.groupby('c').transform('mean'))
   a  b0  2  6
1  3  7
2  2  6
3  3  7

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

table =pd.pivot_table(df, values='a', index=['c'],columns=['d'], aggfunc=np.sum)
d  one  three  twoc                 
x  1.0    3.0  NaN
y  NaN    NaN  6.0

感謝各位的閱讀,以上就是“Pandas怎么實現(xiàn)分組”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Pandas怎么實現(xiàn)分組這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI