2 つの DataFrame をマージする場合、最初の DataFrame の情報を維持しながら 2 番目の DataFrame のデータを組み込むのが一般的です。 Pandas でこれを実現する方法を見てみましょう。
次のシナリオを考えてみましょう:
私たちの目標は、df2 に存在しない個人の情報を保持しながら、df1 に性別情報を入力することです。
<code class="python">df = df1.merge(df2[['Name', 'Sex']], on='Name', how='left')</code>
このマージ操作は、Name 列の df1 を df2 と結合しますが、df1 のすべての行を保持し (左結合のため)、利用可能な場合は Sex の値を更新します。
<code class="python">df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])</code>
このアプローチでは、map 関数を使用して、df1 の Name 列を df2 の Sex 列にマップし、df2 のインデックスとして Name を設定します。これにより、両方の DataFrame の個人が効果的に照合され、欠損値に NaN が設定されます。
df2 に重複する Name 値がある場合、マップ アプローチは一貫性のない結果を返す可能性があります。このような場合は、df2 の重複を除去するか、辞書ベースのマッピングを使用することを検討してください。
さらに、Name に欠損値が含まれている場合は、一致しない行が削除される可能性があるため、マージ関数を慎重に使用してください。データの整合性が重要な場合は、結合する前に欠損値を適切に処理してください。
以上がデータフレームをマージして両方の列を含める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。