【对比python】针对累计值过滤 | 润乾 -欧洲杯在线开户

任务:找出销售额占到一半的前n个客户,并按销售额从大到小排序

python

1 import pandas as pd
2 sale_file = "e:\\txt\\sales_volume.csv"
3 sale_info = pd.read_csv(sale_file)
4 sale_info.sort_values(by='amount',inplace=true,ascending=false)
5 half_amount = sale_info['amount'].sum()/2
6 vip_list = []
7 amount = 0
8 for client_info in sale_info.itertuples():
9     amount = getattr(client_info, 'amount')
10     if amount < half_amount:
11         vip_list.append(getattr(client_info, 'client'))
12     else:
13         vip_list.append(getattr(client_info, 'client'))
14         break
15 print(vip_list)

pandas没有现成的循环函数计算满足条件的位置,所以只能用for循环来完成计算。

集算器

  a  
1 e:\\txt\\sales_volume.csv 数据存放路径
2 =file(a1).import@tc().sort@z(amount) 导入数据并按amount降序排序
3 =a2.sum(amount)/2 计算销售额总量的一半
4 =a2.pselect(cum(amount)>=a3) 找到销售额超过一半的位置
5 =a2.(client).m(:a4) 取该位置之前的客户名

集算器提倡使用循环函数计算,计算同时根据条件进行删选并记录位置信息。

网站地图