Python &引用;groupby“;基于特定条件返回出现的百分比
基于类似于的数据帧Python &引用;groupby“;基于特定条件返回出现的百分比,python,python-3.x,pandas,dataframe,pandas-groupby,Python,Python 3.x,Pandas,Dataframe,Pandas Groupby,基于类似于的数据帧 Strategy Profit AA 100 AA 50 AA -50 BB -20 BB 180 CC -20 DD 20 我希望按“策略”分组,并使“利润”的时间百分比为正(即大于零-条件) 我目前做这件事相当粗俗(通过策略循环),但我需要一个更直接的方法,因为有太多的记录,有太多不同的“策略” 预期结果: Strategy As
Strategy Profit
AA 100
AA 50
AA -50
BB -20
BB 180
CC -20
DD 20
我希望按“策略”分组,并使“利润”的时间百分比为正(即大于零-条件)
我目前做这件事相当粗俗(通过策略循环),但我需要一个更直接的方法,因为有太多的记录,有太多不同的“策略”
预期结果:
Strategy Assertiveiness %
AA 66,66
BB 50
CC 0
DD 100
谢谢你的帮助 这只是
groupby
+mean
df["Profit"].gt(0).groupby(df["Strategy"]).mean().mul(100)
Strategy
AA 66.666667
BB 50.000000
CC 0.000000
DD 100.000000
Name: Profit, dtype: float64
为什么
BB
90,不是应该是50吗?@user3483203正确!固定的!谢谢你的关注!秘密(对我来说)实际上是gt(0)
。谢谢
df["Profit"].gt(0).groupby(df["Strategy"]).mean().mul(100)
Strategy
AA 66.666667
BB 50.000000
CC 0.000000
DD 100.000000
Name: Profit, dtype: float64