使用資料幀時,通常需要根據特定標準將它們組合起來。在本例中,目標是依索引合併兩個資料幀 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中文網其他相關文章!