我有一个类似于这样的数据框数组:
index date profit required symbol category
0 2008-04-01 5.0 3 AA cat1
1 2008-04-02 4.0 6 AA cat1
2 2008-04-03 1.0 2 AA cat1
3 2008-04-04 2.0 3 AA cat1
4 2008-04-05 3.0 4 AA cat1
5 2008-04-06 0.0 7 AA cat1
index date profit required symbol category
0 2008-04-01 1.0 3 AA cat1
1 2008-04-02 1.0 2 AA cat1
2 2008-04-03 1.0 2 AA cat1
3 2008-04-04 2.0 3 AA cat1
4 2008-04-05 3.0 2 AA cat1
5 2008-04-06 3.0 1 AA cat1
index date profit required symbol category
0 2008-04-01 3.0 1 AB cat1
1 2008-04-02 5.0 1 AB cat1
2 2008-04-03 1.0 1 AB cat1
3 2008-04-04 3.0 3 AB cat1
4 2008-04-05 3.0 2 AB cat1
5 2008-04-06 4.0 1 AB cat1
index date profit required symbol category
0 2008-04-01 5.0 1 AC cat2
1 2008-04-02 4.0 1 AC cat2
2 2008-04-03 3.0 12 AC cat2
3 2008-04-04 2.0 1 AC cat2
4 2008-04-05 3.0 1 AC cat2
5 2008-04-06 4.0 1 AC cat2
每个数据框的符号和类别都是唯一的:我已将它们制成列,但它们是单个值,也可以这样使用。
我想要做的是,对于每个符号和每个类别:
所有利润的简单总和
每个数据帧所需的最大值之和
我可以用纯 Python 轻松地做到这一点(伪代码:有些事情变得更容易了):
result = {}
for df in dfs:
result[df.symbol]["profits_generated"] += df["profit"].sum()
result[df.symbol]["sum_of_max_required"] += df["required"].max()
# same for category...
我的问题是:这可以翻译成熊猫吗?它会更有效还是更好读?
我可以做利润总和部分,比如:
pd.concat(dfs).groupby("symbol").sum()["profit"]
但不是每个数据帧的最大值之和。
米脂
相关分类