您好,登錄后才能下訂單哦!
這篇文章主要講解了“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)注!
免責(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)容。