gpt4 book ai didi

python - 根据条件省略 pandas groupby 中的组

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

这是我的数据框:

df = pd.DataFrame({'sym': list('aaaaaabb'), 'key': [1, 1, 1, 1, 2, 2, 3, 3], 'x': [100, 100, 90, 100, 500, 500, 700, 700]})

我按 keysym 对它们进行分组:

groups = df.groupby(['key', 'sym'])

现在我想检查每个组中的所有 x 是否相等。如果它们不相等,我想从 df 中删除它。在这种情况下,我想省略第一组。这是我想要的 df:

   key sym    x
4 2 a 500
5 2 a 500
6 3 b 700
7 3 b 700

最佳答案

使用GroupBy.transformSeriesGroupBy.nunique并按 1 进行比较,按 boolean indexing 过滤:

df1 = df[df.groupby(['key', 'sym'])['x'].transform('nunique').eq(1)]
print (df1)

sym key x
4 a 2 500
5 a 2 500
6 b 3 700
7 b 3 700

关于python - 根据条件省略 pandas groupby 中的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677222/

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