我正在尝试组织一个电子表格以跟踪物料流。
目标是汇总具有相同操作,价格和日期的物料的金额列。
例如:
Item action amount price date
socks buy 10 $20 5/1
socks buy 5 $20 5/1
socks sell 5 $20 5/1
shoes sell 7 $25 5/2
shoes sell 2 $25 5/2
shoes sell 8 $30 5/2
-将变成-
socks buy 15 $20 5/1
socks sell 5 $20 5/1
shoes sell 9 $25 5/2
shoes sell 8 $30 5/2
可以用熊猫吗?
答案 0 :(得分:1)
使用DataFrame.groupby
对'Item', 'action', 'price', 'date'
上的数据帧进行分组,然后使用agg函数sum
为每个组计算amount
列的总和,然后使用{{3} }以重置分组数据帧的索引:
df = df.groupby(['Item', 'action', 'price', 'date']).sum().reset_index().reindex(columns=df.columns)
结果:
# print(df)
Item action amount price date
0 shoes sell 9 $25 5/2
1 shoes sell 8 $30 5/2
2 socks buy 15 $20 5/1
3 socks sell 5 $20 5/1