pandas apply函数
今天看到一个有意思的博客,语言风趣幽默,虽然讲解的是pandas apply技术,但丝毫不见乏味,而是有点丝丝的趣味,搞笑幽默。
下面列举了测试数据,走起,先看测试数据:
import pandasas pd
df= pd.DataFrame({'A':['bob','sos','bob','sos','bob','sos','bob','bob'],
'B':['one','one','two','three','two','two','one','three'],
'C':[3,1,4,1,5,9,2,6],
'D':[1,2,3,4,5,6,7,8]})
测试数据已完全搞定,那么开始分组:
grouped=df.groupby('A')
for name,groupin grouped:
print(name)
print(group)
具体结果
上面用的是for循环,那么我们把for循环替换掉,用apply方法:
d = grouped.apply(lambda x:x.describe())
print(d)
分组后的结果:
bob count 5.000000 5.000000
mean 4.000000 4.800000
std 1.581139 2.863564
min 2.000000 1.000000
25% 3.000000 3.000000
50% 4.000000 5.000000
75% 5.000000 7.000000
max 6.000000 8.000000
sos count 3.000000 3.000000
mean 3.666667 4.000000
std 4.618802 2.000000
min 1.000000 2.000000
25% 1.000000 3.000000
50% 1.000000 4.000000
75% 5.000000 5.000000
max 9.000000 6.000000
对于apply()方法来说,它做了这么一个操作
将groupby分组好的数据,一组,一组,一组的传递到了函数里面
看好是一组,一组的传递进去,所以,呈现出一种多层级的结构,
看图理解
好啦,就这啦。
网友评论