【对比python】分组子集排序和过滤 | 润乾 -pg游戏官网登录入口

任务:找出1995年每个月销售额都在前8名的销售员

python

1 import pandas as pd
2 sale_file = 'e:\\txt\\salesrecord.txt'
3 sale_info = pd.read_csv(sale_file,sep = '\t')
4 sale_info['month']=pd.to_datetime(sale_info['sale_date']).dt.month
5 sale_group = sale_info.groupby(by=['clerk_name','month'],as_index=false).sum()
6 sale_group_month = sale_group.groupby(by='month')
7 set_name = set(sale_info['clerk_name'])
8 for index,sale_g_m in sale_group_month:
9     sale_g_m = sale_g_m.sort_values(by='sale_amt',ascending = false)
10     sale_g_max_8 = sale_g_m.iloc[:8]
11     sale_g_max_8_name = sale_g_max_8['clerk_name']
12     set_name = set_name.intersection(set(sale_g_max_8_name))
13 print(set_name)

集算器

  a
1 e:\\txt\\salesrecord.txt
2 =file(a1).import@t()
3 =a2.groups(clerk_name:name,month(sale_date):month;sum(sale_amt):amount)
4 =a3.group(month)
5 =a4.(~.sort(-amount).to(8))
6 =a5.isect(~.(name))

集算器保留分组子集,在循环函数中对子集进行排序和过滤非常的简单便捷。

网站地图