Ram*_*mon 2 python dataframe pandas
我正在使用熊猫,我的目的是将数据从一张表带到另一张表。假设我有两个名为 df1 和 df2 的数据框:
df1 是这样的:
Name Age Height
Marcus 18 170
Dan 21 172
Phill 30 165
Paty 24 160
Linda 25 158
Run Code Online (Sandbox Code Playgroud)
df2 是这样的:
Name Score1 Score2 Score3
Dan A C C
Paty B A B
Marcus C D B
Zoe A A B
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法来选择 df1 中的人的年龄并将其带到 df2,从而得到这样的表格:
Name Score1 Score2 Score3 Age
Dan A C C 21
Paty B A B 24
Marcus C D B 18
Zoe A A B NaN
Run Code Online (Sandbox Code Playgroud)
在 Excel 中,我们在 df2 到 df1 中使用 VLOOKUP 函数。但是我在 Python 中找不到类似的东西。
您可以使用地图或合并,地图会更快
选项 1:使用地图
df2['Age'] = df2['Name'].map(df1.set_index('Name')['Age'])
Run Code Online (Sandbox Code Playgroud)
选项 2:使用合并
df2.merge(df1[['Name', 'Age']], 'left')
Run Code Online (Sandbox Code Playgroud)
无论哪种方式你得到
Name Score1 Score2 Score3 Age
0 Dan A C C 21.0
1 Paty B A B 24.0
2 Marcus C D B 18.0
3 Zoe A A B NaN
Run Code Online (Sandbox Code Playgroud)