Pandas'替换不允许重叠键和值'

Hou*_*und 2 python pandas

我有这个数据帧:

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
...
Run Code Online (Sandbox Code Playgroud)

而这个数据帧:

dfkey
   store_nbr    station_nbr
0   1                1
1   2                1
2   3                4
3   4                1
Run Code Online (Sandbox Code Playgroud)

我想添加一个列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 
Run Code Online (Sandbox Code Playgroud)

我尝试用dfkey制作字典,然后使用

 dftrain.replace(to_replace= mydict) 
Run Code Online (Sandbox Code Playgroud)

但我觉得我错了,因为有些商店有相同的电台号码.

Lia*_*ley 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
Run Code Online (Sandbox Code Playgroud)