我有如下数据帧:
Data Items Key
SD1 ABX2 9
SD2 ABX2 10
SD3 ABX2 23
SD1 CAB2 sd
SD1 ABX2 km
SD1 CAB2 kj
SD5 TND lo
SD9 TNK gf
SD7 SDK bf
SD11 CAB2 lo
SD1 TND 78
SD3 TND nm
我希望根据Items
列中的值进行过滤,该列至少可以在三个不同的Data
中找到。预期输出为:
Data Items Key
SD1 ABX2 9
SD2 ABX2 10
SD3 ABX2 23
SD1 ABX2 km
SD5 TND lo
SD1 TND 78
SD3 TND nm
发布于 2020-06-10 20:52:44
您可以使用groupby().transform('nunique')
计算每个项目出现的数据数量,然后使用布尔索引进行筛选:
df[df.groupby('Items').Data.transform('nunique')>=3]
输出:
Data Items Key
0 SD1 ABX2 9
1 SD2 ABX2 10
2 SD3 ABX2 23
4 SD1 ABX2 km
6 SD5 TND lo
10 SD1 TND 78
11 SD3 TND nm
https://stackoverflow.com/questions/62312873
复制相似问题