Grouped subsets iteration loop
Task:Calculate how many months it takes for each sales representative to reach the sales amount of 50k.
Python
1 | import pandas as pd |
2 | sale_file = "E:/txt/orders_i.csv" |
3 | sale_data = pd.read_csv(sale_file,sep='\t') |
4 | sale_g = sale_data.groupby('sellerid') |
5 | breach50_list = [] |
6 | for index,group in sale_g: |
7 | amount=0 |
8 | group = group.sort_values('month') |
9 | for row in group.itertuples(): |
10 | amount+=getattr(row, 'amount') |
11 | if amount>=500000: |
12 | breach50_list.append([index,getattr(row, 'month'),]) |
13 | break |
14 | breach50_df = pd.DataFrame(breach50_list,columns=['sellerid','month']) |
15 | print(breach50_df) |
esProc
A | ||
1 | E:/txt/orders_i.csv | |
2 | =file(A1).import@t() | |
3 | =A2.group(sellerid;(~.iterate((x=month,~~+amount),0,~~>500000),x):breach50) |
esProc retains grouped subsets and uses the iterative function to realize the iteration.