如何使用其他数据框的列值选择数据框中的列值

时间:2014-01-29 16:39:22

标签: python pandas dataframe

假设您创建了下一个python pandas数据框:

In[1]: print df1.to_string()
    ID value
0   1     a
1   2     b
2   3     c
3   4     d


In[2]: print df2.to_string()
      Id_a  
0     1            
1     4            
2     2            
3     3            
4     4            
5     2       

如何更新 df2 ,如下所示:

In[2]: print df2.to_string()
      Id_a  value 
0     1     a       
1     4     d       
2     2     b       
3     3     c       
4     4     d       
5     2     b

换句话说,我想在 df1 的值中添加一个额外的列。

由于

2 个答案:

答案 0 :(得分:1)

试试这个:

pd.merge(df1.rename(columns={'ID':'Id_a'}),df2,on='Id_a')

答案 1 :(得分:0)

以下内容应该有效:

import pandas as pd
df1 = pd.DataFrame({"ID":[1,2,3,4], "value": ["a","b","c","d"]})
df2 = pd.DataFrame({"Id_a": [1,4,2,3,4,2]})

merged_df = pd.merge(df2, df1, left_on="Id_a", right_on="ID")
print merged_df