Skip to main content
 首页 » 编程设计

python之如何在 df1 中添加一个名为 value 的新列,该列根据年份列从 df2 中查找值

2025年05月04日26lhb25

我有两个数据框,

df1

Name    Year 
A       2008 
A       2009 
B       2008 
B       2008 

df2

year    value 
2008    10 
2009    15 

如何在 df1 中添加一个名为 value 的新列,根据年份列从 df2 中查找值?

目标

Name  Year  Value 
A     2008  10 
A     2009  15 
B     2008  10 
B     2009  15 

我的问题最终是数据类型......

 df = df.convert_objects(convert_numeric=True) 

map 解决方案最快,有 76,000 行

请您参考如下方法:

你可以使用 map

df1['value'] = df1['Year'].map(df2.set_index('year')['value']) 

你得到

    Name    Year    value 
0   A       2008    10 
1   A       2009    15 
2   B       2008    10 
3   B       2008    10