【发布时间】:2019-07-10 09:55:14
【问题描述】:
我有以下df,
code pct year_month
10 6.6156 201905
10 6.0868 201905
10 5.8975 201905
10 11.2195 201905
10 11.1404 201905
我喜欢做以下事情
df2 = df.sort_values('pct', ascending=False)
df2['pct'].cumsum().le(20).mean()
0.2
以groupby 的方式,
df.groupby(['year_month', 'code'])['pct'].apply(lambda x: x.cumsum().le(20).mean())
但结果不一样,
year_month code
201905 BR10 0.6
我认为groupby 默认情况下应该按降序对pct 进行排序,但似乎不是,所以我想知道如何在每个year_month、code 组中对pct 进行排序,然后再执行@ 987654332@;
【问题讨论】:
-
它给了我同样的结果。你知道你是在对一系列布尔值取平均值吗?
-
@yatu 我正在使用 pandas 0.22,你的版本是什么?
-
我的比较新。确保您使用的是相同的数据
-
@yatu 你能告诉我你的代码吗?
-
和你的一样...
标签: python python-3.x pandas dataframe pandas-groupby