检查组包含熊猫相同的值

问题描述 投票:2回答:2

我很好奇,如果有在熊猫预建功能来检查组的所有成员(因素一列)包含在另一列相同的值。

也就是说,如果我的数据帧相似,它下面会返回一个空列表。

Col1    Col2
2        A
2        A
0        B
0        B

但是,如果我的数据帧出现这样(请注意Col1中1):

Col1    Col2
2        A
2        A
0        B
1        B 

那么输出将是包含对象“B”,因为B组Col1中具有不同的值的列表。

python pandas dataframe grouping
2个回答
4
投票

使用GROUPBY此外,唯一的和独特的价值> 1的指数

a = df.groupby('Col2').Col1.nunique() > 1
a[a].index.tolist()

输出:

['B']

2
投票

使用DataFrame.duplicated布尔面具和转换列Col2list

a = df.loc[~df.duplicated(keep=False), 'Col2'].unique().tolist()
print (a)
[]

而对于第二个数据:

a = df.loc[~df.duplicated(keep=False), 'Col2'].unique().tolist()
print (a)
['B']

另类与DataFrame.drop_duplicates

a = df.drop_duplicates(keep=False)['Col2'].unique().tolist()
print (a)
['B']
© www.soinside.com 2019 - 2024. All rights reserved.