我有两个数据帧df
和subs
,如下所示:
df = pd.DataFrame({"scode": [11, 22, 33, 44], "sname": ["aa", "bb", "cc", "dd"], "sub1": [ "London", np.nan, "Delhi", np.nan], "sub2": [np.nan, np.nan, "Sydney", np.nan]})
scode sname sub1 sub2
0 11 aa London NaN
1 22 bb NaN NaN
2 33 cc Delhi Sydney
3 44 dd NaN NaN
subs = {0: [22, 44], 1: ["Milford Sound", "Queenstown"], 2: ["Oslo", np.nan]}
0 1 2
0 22 Milford Sound Oslo
1 44 Queenstown NaN
如何合并2个数据帧并最终得到如下结果:
scode sname sub1 sub2
0 11 aa London NaN
1 22 bb Milford Sound Oslo
2 33 cc Delhi Sydney
3 44 dd Queenstown NaN
首先,让您的列名匹配:
接下来,dataframe的
update
方法根据源行和目标行之间的公共索引执行所需操作。那么,让我们将索引设置为scode:最后,使用
indexedDF
的updated方法就地更新:indexedDF
现在应按请求将subs
合并到中。你知道吗Pandas将自动在索引/列上对齐,只要确保设置了正确的索引,假设
scode
是您希望合并内容的方式:给你这样的东西:
现在,只需执行普通赋值,选择适当的列/索引:
始终可以重置以前使用的索引:
相关问题 更多 >
编程相关推荐