ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 网络编程 >> Python教程 >> Python数据分析中Groupby用法之通过字典或Series进行分组

Python数据分析中Groupby用法之通过字典或Series进行分组

来源:网络整理     时间:2017-12-08     关键词:

本篇文章主要介绍了" Python数据分析中Groupby用法之通过字典或Series进行分组",主要涉及到方面的内容,对于Python教程感兴趣的同学可以参考一下: 在数据分析中有时候需要自己定义分组规则 这里简单介绍一下用一个字典实现分组people=DataFrame( np.random.randn(5,5),c...

在数据分析中有时候需要自己定义分组规则 这里简单介绍一下用一个字典实现分组

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         d
Joe     0.218189 -0.228336
Steve   1.677264  0.630303
Wes     0.315320 -0.250787
Jim     3.343462  0.483021
Travis  0.854553 -0.760884)
('red',     a         b         e
Joe     0.218164  0.823654 -1.425720
Steve   1.191175 -0.327735  1.926470
Wes    -1.418855  0.497466  0.110105
Jim    -1.157157  0.817122  0.749023
Travis -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       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
从结果看到在列方向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进行分组,包括了方面的内容,希望对Python教程有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_4519166.html

相关图片

相关文章