我有这个行数据帧:
df = pd.DataFrame({'make':'toyota', 'model':'yaris'}, index=[0])
df
make model
0 toyota yaris
Run Code Online (Sandbox Code Playgroud)
并有这个其他列数据框:
df_prices = pd.DataFrame({'prices':[1,2,3,4]})
df_prices
prices
0 1
1 2
2 3
3 4
Run Code Online (Sandbox Code Playgroud)
我想和他们一起获得:
make model prices
0 toyota yaris 1
1 toyota yaris 2
2 toyota yaris 3
3 toyota yaris 4
Run Code Online (Sandbox Code Playgroud)
尝试:
df=df_prices.join(df).ffill()
print(df)
Run Code Online (Sandbox Code Playgroud)
prices make model
0 1 toyota yaris
1 2 toyota yaris
2 3 toyota yaris
3 4 toyota yaris
Run Code Online (Sandbox Code Playgroud)
如果关心列:
df=df[['make','model','prices']]
print(df)
Run Code Online (Sandbox Code Playgroud)
make model prices
0 toyota yaris 1
1 toyota yaris 2
2 toyota yaris 3
3 toyota yaris 4
Run Code Online (Sandbox Code Playgroud)
join+ ffill!!!
更新(感谢@ larsr的评论):
df=df.join(df_prices, how='outer').ffill()
print(df)
Run Code Online (Sandbox Code Playgroud)
会这样做,并修复列订单.