1
df2
の行がdf1
の列に変換されるように2つのデータフレームをマージしたいとします。2つのデータフレームをマージすると最終データフレームの行が少なくなります
df1 =
ID B
1 3
2 4
3 5
df2 =
ID Value
1 ABC
1 ACD
2 WWW
結果は次のようになります。
result =
ID B A_1 A_2
1 3 ABC ACD
2 4 WWW NaN
3 5 NaN NaN
問題は何があっても、私はdf1
のすべての行を維持したいしながら、合併後、私は、私の本当のデータセットにdf1
で一部の行を逃すことはありませんdf2
で一致します。
df2['col'] = 'A_' + df2.groupby(['ID'])['Value'].cumcount().astype(str)
df2 = df2.pivot(index='ID', columns='col', values='Value').reset_index()
result = pd.merge(df1, df2)
寸法:
df1 = 1404659 rows
df2 = 1015639 rows
result = 1216773 rows (!!!)
2つのデータフレームのマージがデータフレームresult
に少ない行を生成している理由かもしれませんか?