gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:35:49 25 4
gpt4 key购买 nike

我有一个数据库,我将它引入一个 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

将 df1 中 B 列与任何 df2 列 0 值匹配的整行输出到 df3 中。
df3     A   B   C   D
0 102 21 2 3
1 104 40 2 3

我能够使用以下方法获得单个结果:
df1[df1['B'] == df2.iloc[0,0]]

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

最佳答案

方法一:merge
使用 merge , 在 B0 .然后只选择 df1

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

方法二: loc
或者使用 locdf1 中查找行哪里 Bdf2 中匹配栏目 0使用 .isin :
df1.loc[df1.B.isin(df2['0'])]

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

关于python - Pandas 将 1 列值与另一个数据框列进行比较,找到匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51885769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com