一部の列のみをマージすることは可能ですか? 列 x、y、z を持つ DataFrame df1 と、列 x、a、b、c、d、e、f などを持つ df2 があります。
x で 2 つの DataFrame をマージしたいのですが、DataFrame 全体ではなく、列 df2.a、df2.b のみをマージしたいと考えています。
結果は、x、y、z、a、b を持つ DataFrame になります。
不要な列をマージして削除することもできますが、もっと良い方法があるようです。
これは、2 つのテーブルから選択した列をマージすることです。
列をtable_1
含み、列を含み、最終テーブルで t1_a、id、t2_a のみが必要な場合、t1_a,t1_b,t1_c..,id,..t1_z
table_2
t2_a, t2_b, t2_c..., id,..t2_z
mergedCSV = table_1[['t1_a','id']].merge(table_2[['t2_a','id']], on = 'id',how = 'left')
# save resulting output file
mergedCSV.to_csv('output.csv',index = False)
デフォルトで内部結合を使用して、複数文字の列名に対して受け入れられた回答をわずかに拡張します。
df1 = df1.merge(df2[["Key_Column", "Target_Column1", "Target_Column2"]])
これは、Key_Column
両方のデータフレームに共通する唯一の列であると想定しています。