nie*_*eka 2 python dataframe pandas
我有一个关于合并两个数据帧的问题.我有一个数据帧,看起来像这样
>> print(df)
no value1 value2
0 a 0 -1
1 b -1 1
2 c -1 1
3 d 0 -1
4 e -1 -1
Run Code Online (Sandbox Code Playgroud)
现在我有一个额外的数据框,看起来像这样
>> print(df2)
no value3 value4
0 a 1 -1
1 b 1 -1
2 e 1 -1
Run Code Online (Sandbox Code Playgroud)
我想将第二个数据帧的"value3"和"value4"列附加到第一个数据帧但仅限于"no"列的匹配值.所以最后我希望得到一个最终的数据帧,如下所示:
>> print(df)
no value1 value2 value3 value4
0 a 0 -1 1 -1
1 b -1 1 1 -1
2 c -1 1 NaN NaN
3 d 0 -1 NaN NaN
4 e -1 -1 1 -1
Run Code Online (Sandbox Code Playgroud)
有一个简单的解决方案吗?谢谢你的帮助!
使用pd.concat与set_index让大熊猫利用固有的数据对齐.
pd.concat([df.set_index('no'),df2.set_index('no')], axis=1).reset_index()
Run Code Online (Sandbox Code Playgroud)
输出:
index value1 value2 value3 value4
0 a 0 -1 1.0 -1.0
1 b -1 1 1.0 -1.0
2 c -1 1 NaN NaN
3 d 0 -1 NaN NaN
4 e -1 -1 1.0 -1.0
Run Code Online (Sandbox Code Playgroud)