熊猫组合两列的值并比较唯一性



我想组合/连接数据帧两列的值并比较这些值的唯一性,例如

      col1    col2
row1  val11   val12
row2  val21   val22
row3  val31   val32

我想连接val11val12val21val22val31val32,然后比较val11+val12val21+val22val31+val32的唯一性,即检查三个连接值是否相等。

col1col2dtype都是str.

我想知道最好的方法是什么。

您可以使用duplicated来检查col1col2 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

最新更新