【对比Python】分栏

任务:分栏列出各部门工资超过8000的员工信息(工资从高到低排序)

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) 取该位置之前的客户名

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