如何比较数据框中的两列并根据匹配字段更新列
how to compare two columns in dataframe and update a column based on matching fields
我有两个数据框,如下所示
|a|b|c|
|1|2| |
|4|5| |
|7|8| |
第二个数据帧是
|a_1|b_1|
|1 |5 |
|4 |2 |
|7 |8 |
我想比较两个公共列 (a,a_1) 并更新我的第一个数据框中的第 3 列。预期输出如下所示
|a|b|c|
|1|2|5|
|4|5|2|
|7|8|8|
是否有匹配公共列并填充第 3 列的代码?
import pandas as pd
d1={
"a":(1,4,7),
"b":(2,5,8),
"c":(0,0,0)
}
d2={
"a_1": (1, 4, 7),
"b_1": (5, 2, 8)
}
df1=pd.DataFrame(d1)
df2=pd.DataFrame(d2)
# Iterate through each entry in a and compare it to a_1
for i in range(len(df1["a"])):
for j in range(len(df2["a_1"])):
if df1["a"][i] == df2["a_1"][j]:
df1["c"][i] = df2["b_1"][j]
我有两个数据框,如下所示
|a|b|c|
|1|2| |
|4|5| |
|7|8| |
第二个数据帧是
|a_1|b_1|
|1 |5 |
|4 |2 |
|7 |8 |
我想比较两个公共列 (a,a_1) 并更新我的第一个数据框中的第 3 列。预期输出如下所示
|a|b|c|
|1|2|5|
|4|5|2|
|7|8|8|
是否有匹配公共列并填充第 3 列的代码?
import pandas as pd
d1={
"a":(1,4,7),
"b":(2,5,8),
"c":(0,0,0)
}
d2={
"a_1": (1, 4, 7),
"b_1": (5, 2, 8)
}
df1=pd.DataFrame(d1)
df2=pd.DataFrame(d2)
# Iterate through each entry in a and compare it to a_1
for i in range(len(df1["a"])):
for j in range(len(df2["a_1"])):
if df1["a"][i] == df2["a_1"][j]:
df1["c"][i] = df2["b_1"][j]