gpt4 book ai didi

python - 在 groupby 中过滤仅像列 python

转载 作者:太空宇宙 更新时间:2023-11-04 09:42:45 24 4
gpt4 key购买 nike

我希望通过将列减少为仅具有 1 个唯一值的列来过滤数据框。

采用以下数据框:

df = pd.DataFrame({'id':[4, 5],
'id2':[4, 4],
'prod':['prod1', 'prod1'],
'amount':[45.0, 45.0],
'date':['2018-06-06', '2018-05-06'],
'region':['east', 'east']})

我想按 id2 分组,然后删除任何包含超过 1 个唯一值的列。

df
amount date id id2 prod region
0 45.0 2018-06-06 4 4 prod1 east
1 45.0 2018-05-06 5 4 prod1 east

输出应该是这样的:

   amount  id2   prod region
0 45.0 4 prod1 east
1 45.0 4 prod1 east

最佳答案

您需要groupby,然后查找唯一值等于 1 的列。

col = (df.groupby(['id2']).nunique() == 1).any()
df[col.index[col]]

输出:

  id2   prod    amount  region
0 4 prod1 45.0 east
1 4 prod1 45.0 east

关于python - 在 groupby 中过滤仅像列 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51029861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com