我有这个数据帧:
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)
但我觉得我错了,因为有些商店有相同的电台号码.
您可以使用合并.
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)