【发布时间】:2017-08-22 01:52:59
【问题描述】:
我有一个数据集,为简单起见,我需要根据一列进行分组和聚合,以便我可以轻松删除一些行。完成计算后,我需要按操作反转分组,以便可以在 Excel 中轻松查看数据框。如果我不反转操作,我会将整个列表导出到不容易分析的 excel 中。非常感谢任何帮助。
例子:
Col1 Col2 Col3
123 11 Yes
123 22 Yes
256 33 Yes
256 33 No
337 00 No
337 44 No
应用groupby和聚合后:
X=dataset.groupby('Col1').agg(lambda x:set(x)).reset_index()
我明白了
Col1 Col2 Col3
123 {11,22} {Yes}
256 {33} {Yes, No}
337 {00,44} {No}
然后我使用 drop 删除所有包含 Yes 的列
X=X.reset_index(drop=True)
在导出到 excel 之前我需要得到的是
Col1 Col2 Col3
337 00 No
337 44 No
希望这足够清楚
提前谢谢
【问题讨论】:
-
X.reset_index(drop=True)不会更改数据框中的任何内容。目前尚不清楚您为什么拥有它以及您期望它做什么。请包括预期结果。 -
对不起,我的意思是:YY=set('Yes') X=X.drop(X[X.Col3==YY].index)
标签: python pandas dataframe group-by pandas-groupby