我很好奇,如果有在熊猫预建功能来检查组的所有成员(因素一列)包含在另一列相同的值。
也就是说,如果我的数据帧相似,它下面会返回一个空列表。
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中具有不同的值的列表。
使用GROUPBY此外,唯一的和独特的价值> 1的指数
a = df.groupby('Col2').Col1.nunique() > 1
a[a].index.tolist()
输出:
['B']
使用DataFrame.duplicated
布尔面具和转换列Col2
到list
:
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']
a = df.drop_duplicates(keep=False)['Col2'].unique().tolist()
print (a)
['B']