国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python數據分析中Groupby用法之通過字典或Series進行分組的實例

2020-02-16 10:59:12
字體:
來源:轉載
供稿:網友

在數據分析中有時候需要自己定義分組規則 這里簡單介紹一下用一個字典實現分組

people=DataFrame(  np.random.randn(5,5),  columns=['a','b','c','d','e'],  index=['Joe','Steve','Wes','Jim','Travis'])mapping={'a':'red','b':'red','c':'blue','d':'blue','e':'red','f':'orange'}by_column=people.groupby(mapping,axis=1)#列方向上進行分組

這里不知道python底層是怎么運行的,最好把運行的結果打印出來看一下

for i in by_column:  print (i)

遍歷的結果:

('blue',  c     dJoe   0.218189 -0.228336Steve  1.677264 0.630303Wes   0.315320 -0.250787Jim   3.343462 0.483021Travis 0.854553 -0.760884)('red',   a     b     eJoe   0.218164 0.823654 -1.425720Steve  1.191175 -0.327735 1.926470Wes  -1.418855 0.497466 0.110105Jim  -1.157157 0.817122 0.749023Travis -0.440583 -0.907922 1.374294)

從結果可以看到,把a b e分給了red, c d分給了blue

a b e--->red

c d --->blue

接下來再來執行 people.groupby(mapping,axis=1).mean()

      blue    redJoe   0.241336 -0.182099Steve  0.459773 -0.448336Wes   0.205278 0.605721Jim  -0.094838 1.254174Travis 0.354140 0.142075

從結果看到在列方向group分組 執行聚合函數mean()后列索引就只有 blue和red了。

整個過程可以這么理解 在列方向上進行分組 a b e為一組為red,c d 為一組為blue。最后以red blue作為新DataFraem的列索引

同樣Series也有同樣的功能,它可以被看作一個固定大小的映射。對于上面的那個例子,如果用series作為分組鍵,則pandas會檢查Series以確保其索引分組軸是對齊的:

ser=Series(mapping)
a red
b red
c blue
d blue
e red
f orange

by_ser_group=people.groupby(ser,axis=1).mean()

blue red
Joe 0.241336 -0.182099
Steve 0.459773 -0.448336
Wes 0.205278 0.605721
Jim -0.094838 1.254174
Travis 0.354140 0.142075

從結果可以看到,通過字典進行分組和通過Series進行分組結果是相同的。也就是說他們執行的原理是相同的,都是把索引(對series來說)或字典的key與Dataframe的索引進行匹配,

字典中value或series中values值相同的會被分到一個組中,最后根據每組進行在聚合。

groupby的用法很多,之后有時間我會慢慢更新博客。如果有那些地方有錯歡迎大家指出,一塊學習,共同進步。

以上這篇Python數據分析中Groupby用法之通過字典或Series進行分組的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 区。| 定日县| 恭城| 来宾市| 开鲁县| 阿拉善左旗| 台江县| 闽清县| 工布江达县| 南召县| 阿鲁科尔沁旗| 沙雅县| 南开区| 平山县| 苗栗县| 时尚| 海林市| 承德市| 临澧县| 吉安县| 金山区| 宽城| 德庆县| 鹤岗市| 宜川县| 平湖市| 北川| 定远县| 镇巴县| 皮山县| 开鲁县| 孙吴县| 靖宇县| 泗阳县| 寿光市| 永州市| 玉田县| 兴山县| 中西区| 潜山县| 巨野县|