寻找有关执行以下操作的最佳方法的建议。最好是在python,javascript或excel中。数据是CSV格式(虽然我删除了下面的逗号)。我是个菜鸟;我应该能够做到这一点,但我认为这是一种优雅的方式来做这样的事情,因为它是一个基本的操作。
Direction Name Trial Amount
+ Matthew 1 500
- Matthew 1 250
- Matthew 1 250
+ Matthew 2 1000
- Matthew 2 750
+ Matthew 3 500
+ Mark 1 500
- Mark 1 250
+ Luke 1 1000
+ Luke 2 1000
+ Luke 3 1000
- Luke 2 500
按名称和试用计算每个金额(数据集中的大量试验)。
结果将是:
Direction Name Trial Amount
+ Matthew 2 250
+ Matthew 3 500
+ Mark 1 250
+ Luke 1 1000
+ Luke 2 500
+ Luke 3 1000
提前致谢!
答案 0 :(得分:0)
这是Python中的一种方法。
import pandas as pd
import numpy as np
df['vals'] = df.apply(lambda x: x['Amount'] if x['Direction'] == '+' else x['Amount']*-1, axis=1)
pd.pivot_table(df, values='vals', columns=['Name','Trial'], aggfunc=np.sum)
Name Trial
Luke 1 1000
2 500
3 1000
Mark 1 250
Matthew 1 0
2 250
3 500
dtype: int64