我想组合/连接数据帧的两列中的值,并比较这些值的唯一性,例如
col1 col2
row1 val11 val12
row2 val21 val22
row3 val31 val32
我想连接val11
和val12
,val21
和val22
,val31
和val32
,然后比较val11+val12
,val21+val22
和val31+val32
表示唯一性,即检查三个连接值是否相等。
dtype
和col1
的{{1}}都是col2
。
我想知道最好的方法是什么。
答案 0 :(得分:2)
您可以使用duplicated
来检查已加入列col1
和col2
与boolean indexing
的唯一性:
print df
col1 col2
row1 val11 val12
row2 val21 val22
row3 val31 val32
row3 val31 val32
ser = df.col1 + df.col2
print ser
row1 val11val12
row2 val21val22
row3 val31val32
row3 val31val32
print ser.duplicated(keep=False)
dtype: object
row1 False
row2 False
row3 True
row3 True
print ~ser.duplicated(keep=False)
row1 True
row2 True
row3 False
row3 False
dtype: bool
print df[~ser.duplicated(keep=False)]
col1 col2
row1 val11 val12
row2 val21 val22