我从主数据框创建了两个Dataframe,例如df1和df2 .
每个数据帧具有相同的列数,但df2中的行数不会小于df1中的行数 . 数据帧将具有列waferlot,x,y,w .
如何在df1中从df2中搜索waferlot,x,y,w .
虽然可以有多种方法来实现这一点,但评论中已经提到了其中一种方法,但我通常使用isin来实现:
给出两个数据帧:
import pandas as pd df1 = pd.DataFrame() df1['C1'] = ['a', 'b', 'c', 'd', 'e', 'f'] df1['C2'] = ['b', 'c', 'x', 'w', 'h', 'j'] df2 = pd.DataFrame() df2 ['C1'] = ['x', 'a', 'c', 'f'] df2 ['C2'] = ['w', 'h', 'd', 'j']
数据框看起来像:
In [144]: df1 Out[144]: C1 C2 0 a b 1 b c 2 c x 3 d w 4 e h 5 f j In [145]: df2 Out[145]: C1 C2 0 x w 1 a h 2 c d 3 f j
现在,我可以使用isin在数据帧的所有列中搜索我想要的任何内容 .
x = (df1[df1.C1.isin(df2.C1) & df1.C2.isin(df2.C2)])
输出:
C1 C2 5 f j
如果您只想搜索一列,则可以删除 & 之前或之后的其中一个条件:
&
x = (df1[df1.C1.isin(df2.C1)])
C1 C2 0 a b 2 c x 5 f j
1 回答
虽然可以有多种方法来实现这一点,但评论中已经提到了其中一种方法,但我通常使用isin来实现:
给出两个数据帧:
数据框看起来像:
现在,我可以使用isin在数据帧的所有列中搜索我想要的任何内容 .
输出:
如果您只想搜索一列,则可以删除
&
之前或之后的其中一个条件:输出: