小编ixa*_*xim的帖子

Pandas:在两个数据帧中查找匹配的行(不使用“合并”)

假设我有这两个数据框,其列数相同,但行数可能不同:

tmp = np.arange(0,12).reshape((4,3))
df = pd.DataFrame(data=tmp) 

tmp2 = {'a':[3,100,101], 'b':[4,4,100], 'c':[5,100,3]}
df2 = pd.DataFrame(data=tmp2)

print(df)
   0   1   2
0  0   1   2
1  3   4   5
2  6   7   8
3  9  10  11

print(df2)
     a    b    c
0    3    4    5
1  100    4  100
2  101  100    3
Run Code Online (Sandbox Code Playgroud)

我想验证 的行是否df2与 的任何行匹配 df,也就是说,我想获得一系列(或数组)布尔值来给出以下结果:

0     True
1    False
2    False
dtype: bool
Run Code Online (Sandbox Code Playgroud)

我认为类似的isin方法应该有效,但我得到了这个结果,这导致了一个数据框并且是错误的:

print(df2.isin(df))
       a      b      c
0  False  False  False
1  False  False …
Run Code Online (Sandbox Code Playgroud)

python matching dataframe pandas isin

2
推荐指数
1
解决办法
2833
查看次数

标签 统计

dataframe ×1

isin ×1

matching ×1

pandas ×1

python ×1