繁体   English   中英

比较多个列以获取两个 pandas dataframe 中不同的行

[英]compare multiple columns to get rows that are different in two pandas dataframe

我有数据框

df1 
172
72A
12(1)
192
182


   

df2
172
72A
12(2)
122
88

我想比较两个数据帧,并想在df1中找到df2中没有的行,那么预测的行必须写入一个新列,不需要考虑括号内的值。

expected result
 122
 88

使用.isin 但是,括号增加了一点逻辑,因此您可以split括号并使用.str[0]来返回它的第一部分。 列名实际上是df1df2以避免混淆。 将这些切换到您的实际标题是:

df2[~df2['df2'].str.split('(').str[0].isin(df1['df1'].str.split('(').str[0])]

    df2
3   122
4    88

~返回 isin 的isin的反向行,不使用~将返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM