pyd*_*pyd 2 python data-analysis dataframe pandas
我有两个数据框,
df1=pd.DataFrame({"Req":["Req 1","Req 2","Req 3"],"Count":[1,2,1]})
Req Count
0 Req 1 1
1 Req 2 2
2 Req 3 1
Run Code Online (Sandbox Code Playgroud)
df2=pd.DataFrame({"Req":["Req 1","Req 2"],"Count":[0,1]})
Req Count
0 Req 1 0
1 Req 2 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试根据“Req”列合并这些 df
我想要的输出是,
Req total from_1 from_2
Req 1 1 1 0
Req 2 3 2 1
Req 3 1 1 0
Run Code Online (Sandbox Code Playgroud)
我试过了,pd.merge(df1, df2, on = "Req", )但没有给出我想要的输出,请帮忙,提前致谢!
您可以使用merge左连接,替换NaNs,重命名列并最后添加新列assign:
df = (pd.merge(df1, df2, on = "Req", how='left')
.fillna(0)
.rename(columns={'Count_x':'from_1','Count_y':'from_2'})
.assign(total=lambda x: x['from_1'] + x['from_2'])
)
print (df)
from_1 Req from_2 total
0 1 Req 1 0.0 1.0
1 2 Req 2 1.0 3.0
2 1 Req 3 0.0 1.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4040 次 |
| 最近记录: |