2015-04-03 30 views
2

我有这个数据帧:大熊猫“更换不重叠键和值允许的”

dftrain 
     date  store_nbr item_nbr units 
0 2012-01-01  1   1   0 
1 2012-01-01  1   2   0 
2 2012-01-01  2   3   0 
3 2012-01-01  3   4   0 
4 2012-01-01  4   5   0 
... 

而这个数据帧:

dfkey 
    store_nbr station_nbr 
0 1    1 
1 2    1 
2 3    4 
3 4    1 

我想增加一列dftrain与station_nbr列匹配店号到站号。

dftrain 
     date  store_nbr item_nbr units station_nbr 
0 2012-01-01  1   1   0  1 
1 2012-01-01  1   2   0  1 
2 2012-01-01  2   3   0  1 
3 2012-01-01  3   4   0  4 
4 2012-01-01  4   5   0  1 

我试图使一个字典出dfkey的,然后使用

dftrain.replace(to_replace= mydict) 

,但我得到了一个错误,我认为,因为一些商店具有相同站号。

回答

5

您可以使用合并。

http://pandas.pydata.org/pandas-docs/dev/merging.html

pd.merge(dftrain,dfkey,on='store_nbr',how='left') 

     date store_nbr item_nbr units station_nbr 
0 2012-01-01   1   1  0   1 
1 2012-01-01   1   2  0   1 
2 2012-01-01   2   3  0   1 
3 2012-01-01   3   4  0   4 
4 2012-01-01   4   5  0   1