我有这个数据框:
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)
但我认为有一个错误,因为某些商店的车站号相同。
python大神给出的解决方案
您可以使用合并。
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