初期情報を保持しながら列のデータフレームをマージする
Pandas のマージ関数を使用しているにもかかわらず、データフレーム df1 と df2 をマージするときに問題が発生していますdf1 を保持したまま、「名前」列にinformation.
問題:
マージ操作内:
df1 = pd.merge(df1, df2, on = 'Name', how = 'outer ')
両方のデータフレームの個人を含む外部結合を実行しています。これにより、元々 df1 に表示されなかった場合でも、df2 の個人が df1 に含まれるようになります。
解決策:
この問題に対処するには、次の方法を使用できます。
方法 1: 作成されたシリーズによるマップを使用するset_index:
df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])
このアプローチは、df2 の 'Sex' 列からのインデックスとして 'Name' を持つシリーズを確立します。次に、df1 の「名前」列がこのシリーズにマップされ、一致する「性別」値が割り当てられます。欠損値は NaN に設定することで解決されます。
方法 2: 左結合の実行:
df = df1.merge(df2[['Name','Sex']], on='Name', how='left')
左結合により、df1 の個人が優先されるようになります。欠損値が存在しない場合は NaN で埋められます。 df2.
考慮事項:
以上が1 つのデータフレームの初期情報を保持しながら列のデータフレームをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。