我有数据框
df1
172
72A
12(1)
192
182
df2
172
72A
12(2)
122
88
我想比较两个数据帧,并想在df1中找到在df2中找不到的行,那么预测的行必须写在新列中,而无需考虑括号内的值。
expected result
122
88
使用.isin
; 但是,圆括号添加了一点逻辑,因此您可以split
在圆括号上使用并.str[0]
返回它的第一部分。列名是从字面上df1
和df2
以避免混淆。将这些切换到您的实际标头是:
df2[~df2['df2'].str.split('(').str[0].isin(df1['df1'].str.split('(').str[0])]
df2
3 122
4 88
~
返回的输出的倒数行,isin
而不使用~
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句