使用数据帧时,通常需要根据特定标准将它们组合起来。在本例中,目标是按索引合并两个数据帧 df1 和 df2。
默认情况下,Python Pandas 库中的 merge() 函数需要基于列的匹配。但是,可以使用特定参数对索引进行合并。
要执行内部联接(仅保留具有匹配索引的行),请使用以下代码:
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
此操作会生成以下输出:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
或者,可以使用 join() 方法执行左连接:
<code class="python">df1.join(df2)</code>
这会导致:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | NaN |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
最后,可以使用 concat() 函数实现外连接:
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
生成的数据帧包含两个输入数据帧中的所有行:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
8 | 36 | false | 0.50 | 1 | NaN |
NaN | 37 | false | 0.30 | 2 | NaN |
记住合并索引上的做法并不常见,应仔细考虑以避免数据丢失或完整性问题。如果按索引合并不可避免,所提供的方法提供了灵活的选项来实现所需的结果。
以上是如何根据 Pandas 中的索引合并两个 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!