首页 » Python » 秦路天善智能python学习笔记-pandas的apply聚合

秦路天善智能python学习笔记-pandas的apply聚合

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pandas as pd
position = pd.read_csv('position_gbk.csv',encoding='gbk',sep=',')
company = pd.read_csv('company_utf.csv',encoding='gbk',sep=',')

# 怎么找出平均薪资排名前五的呢
position0 = position.sort_values('avg',ascending=False)[:5]  # 找出前五的代码
print(position0)


def func(a):
    return a.sort_values('avg',ascending=False)[:5]


position1 = position.groupby('city').apply(func)  # 这里就实现了每个城市显示前五的了
print(position1)


def func(a,b,c):
    return a.sort_values(b,ascending=False)[:c]


position2 = position.groupby('city').apply(func,b='avg',c=3)  # 这里就实现了参数赋值
print(position2)

position3 = position.groupby('city').agg(sum)  # 全部求和
print(position3)

position4 = position.groupby('city').agg('mean')  # 全部求平均
print(position4)

position5 = position.groupby('city').agg(['sum','mean'])  # 原来数据变成两列算出sum和mean
print(position5)

position6 = position.groupby('city').agg(['sum','mean',lambda x: max(x)-min(x)])  # 原来数据变成三列算出sum和mean和max-min
print(position6)

'''
agg无法使聚合后的来独立行运算只能根据聚合结果为一行来运算,apply可以,所以apply灵活性较高
'''

原文链接:秦路天善智能python学习笔记-pandas的apply聚合,转载请注明来源!

0