我有一个用例,我有两个数据帧 例如下面,第一个数据帧值需要与第二个数据帧匹配,这是由 isin 完成的 df3=df1['Values2'].isin(df2.Values) 并返回一个真实的数据集。 但是,要求是创建具有匹配值并添加其名称的第三个数据框。
Name Values
xyz 12.34.45
abc 34.56.78
pqr 12.12.13
asd 15.12.14
Values2 Score Address Group Remark Grade
10.11.13 10 fdsg A Q1 A+
34.56.78 8 fdg B Q2 B+
12.12.13 4 fdg C Q4 A++
15.12.14 7 fdgzdg D Q3 A
10.12.13 5.5 kjklj E Q9 B+
Values2 Name Score Address Group Remark Grade
10.11.13 not found 10 fdsg A Q1 A+
34.56.78 abc 8 fdg B Q2 B+
12.12.13 pqr 4 fdg C Q4 A++
15.12.14 asd 7 fdgzdg D Q3 A
10.12.13 not found 5.5 kjklj E Q9 B+
答案 0 :(得分:1)
输入数据(部分):
>>> df1
Name Values
0 xyz 12.34.45
1 abc 34.56.78
2 pqr 12.12.13
3 asd 15.12.14
>>> df2
Values2 Score
0 10.11.13 10.0
1 34.56.78 8.0
2 12.12.13 4.0
3 15.12.14 7.0
4 10.12.13 5.5
在“左侧”合并两个数据框:
>>> pd.merge(df2, df1, left_on="Values2", right_on="Values", how="left") \
.drop(columns="Values")
Values2 Score Name
0 10.11.13 10.0 NaN
1 34.56.78 8.0 abc
2 12.12.13 4.0 pqr
3 15.12.14 7.0 asd
4 10.12.13 5.5 NaN