熊猫将1列的值与另一个数据框的列进行比较,找到匹配的行

Drumlord_90

我有一个数据库,该数据库将引入事件和警报的SQL表(df1),并且有一个警报代码和属性(df2)的txt文件要监视。想要使用df2中的1个列值,每个值都需要与df1中的整个列值进行交叉检查,然后将匹配的所有列的整个行输出到另一个数据帧df3中。

df1     A   B   C   D
0     100  20   1   1
1     101  30   1   1
2     102  21   2   3
3     103  15   2   3
4     104  40   2   3

df2     0   1   2   3   4
0      21   2   2   3   3
1      40   0 NaN NaN NaN

将B列与df2列0值中的任何一个匹配的df1的整行输出到df3中。

df3     A   B   C   D
0     102  21   2   3
1     104  40   2   3

我能够使用以下方法获得单个结果:

df1[df1['B'] == df2.iloc[0,0]]

但是,我需要能够在更大范围内做到这一点的东西。

方法1: merge

使用merge然后仅选择B0df1

df1.merge(df2, left_on='B', right_on='0')[df1.columns]

     A   B  C  D
0  102  21  2  3
1  104  40  2  3

方法2: loc

或者,使用loc找到行df1,其中B有一个匹配df20使用.isin

df1.loc[df1.B.isin(df2['0'])]

     A   B  C  D
2  102  21  2  3
4  104  40  2  3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将选择列的行值与另一个数据框中的相同列进行比较?

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

将列和行名称与另一个数据框中的列和值进行匹配

大熊猫:删除另一个数据框中的行,对列的子集进行比较

将列的值与另一个数据框列匹配并替换值

基于来自另一个数据框熊猫的匹配值的新列

熊猫:如何将多个列值与另一个数据框匹配并生成输出

熊猫根据另一个数据框将多个列和行值设置为nan

将一个数据框的一列的每个值与另一个数据框的一列的值匹配(如果后者存在)

根据变量组合,对数据框1的新列进行突变,并与另一个数据框2中的值进行匹配

遍历一个数据框中的单个列与另一个数据框中的列进行比较使用熊猫在第一个数据框中创建新列

如何将pyspark数据框列中的值与pyspark中的另一个数据框进行比较

熊猫数据框-将列添加到另一个数据框

熊猫会在一个数据框中删除与另一个数据框的一列中的行具有共同值的行

在R中,如何将一个数据框中选定行中的值与另一数据框中选定列的值进行匹配?

如何将列表列与熊猫中另一个数据框中的列匹配?

熊猫计算另一个数据框列中列值的频率

熊猫:将另一个数据框的列与列相乘?

根据选定的列过滤重复的行,并与Pandas中的另一个数据框进行比较

熊猫根据具有不同列标题的另一个数据框将多个列和行值设置为nan

熊猫根据另一个数据框中的匹配列填充新的数据框列

Python:比较两个excel表之间的列字符串并找到匹配的列并写入另一个数据框

将一个数据框的值与另一数据框的列的值进行比较,然后从第三列获取数据

根据另一个数据框python熊猫替换列值-更好的方法?

从另一个数据框熊猫获取相应的列值

根据熊猫中的另一个数据框更改列中的值

在熊猫中按行比较一个日期框架中的日期列值与另一个数据框架中的两个日期列

熊猫:通过将一列的值与另一行中同一列的另一个值进行比较来过滤行

根据另一个数据框的值删除一个数据框的行和列