你能帮我连接两个数据帧吗。在
我有两个数据帧。在
df1:
index val1 val2
--------------------
1 str1 abc1
2 str2 abc2
3 str3 abc3
4 str4 abc9
5 str5 abc4
df2:
^{pr2}$我需要在前两个基础上创建一个DataFrame,它有两个列的左连接。列index和val2在两个数据帧中具有相同的名称。df3的结果应该如下所示:
index val1 val2 val3
----------------------------
1 str1 abc1 1
2 str2 abc2 1
3 str3 abc3 NaN
4 str4 abc9 NaN
5 str5 abc4 1
df2中不存在于df1中的索引应该被删除,如果df1中的索引具有与df2中相同的val2,则应该将1添加到新的列val3中,否则:NaN。在
提前致谢!在
您可以尝试将
join
(默认值为left)与rsuffix
一起使用,以便df2的列名用后缀重命名。然后,使用np.where
检查列值是否匹配,并为val3
列赋值。在结果:
^{pr2}$由于您希望在索引和列的组合上进行合并,您可以将它们全部添加到索引中,或者在合并之前
reset_index
。我们还将把val3
列分配给df2,这样它就合并了。在输出:
^{pr2}$如果
'index'
只是一个列而不是索引,那么只需指定两个键进行合并就可以了。在输出:
这是一种方法。如下所示,我建议您使用Boolean而不是
float
来表示val3
,因为这是系列所代表的。在相关问题 更多 >
编程相关推荐