私は2番目のデータセット(df2)からデータを入力するデータセット(df1)を1つ持っています。両方のデータフレームに1つのカラムしかなく、 df1とdf2の両方のインデックスを取得できるので、インデックスをマージすることができます。私は出力がなりたい何データセットの結合Df1のインデックス上のパンダ
df = pd.read_excel('Data.xlsx', sheetname= 'Dataset1')
df2 = pd.read_excel('Data.xlsx', sheetname= 'Dataset2')
df1.set_index("ORG_ID", inplace=True)
df2.set_index("ORG_ID", inplace=True)
df3 = df1.merge(df2.ix[:,df2.columns-df1.columns], left_index=True, right_index=True, how="outer")
は、インデックス(ORG_IDs)を含むDF1からすべてのデータを、一覧表示されますAA新しいデータセット(DF3)で、ベースのデータに記入してDF2からのすべての新しい列が含まdf1にリストされているORG_IDに ここでは、pythonは私に新しいデータフレーム(df3)を与え、df1のデータを入力してから、df1のORG_IDの下にある2番目のデータセット(df2)のOrg_idsをすべて追加します。
私もcombine_firstを使ってみましたが、同様の結果が得られたようです。
df3= df1.combine_first(df2)
Dataset1 (df1)
ORG_ID COUNTRY TOWN STORE PRODUCT PRICE
1 Spain Madrid Pink Garment 100
2 Greece Chania White Toy 200
3 U.K Manchester Red Garment 300
4 Italy Rome Red Accessory 500
5 Spain Marbella Blue Accessory 20
6 Greece Chania Green Garment 25
7 U.K Manchester Pink Toy 36
8 Italy Siena Red Accessory 150
9 Spain Barcelona White Toy 200
10 Greece Corfu Blue Accessory 500
DATASET2(DF2)
ORG_ID CUSTOMER TYPE PARENT REGION
5 A Pop Rose Europe
10 A Cry Tulip Europe
24 C Fig Lily Europe
89 G Pop Rose Europe
6 R Fig Lily Europe
4 Y Pop Rose Europe
1 T Fig Tulip Europe
7 H Pop Tulip Europe
8 S Fig Rose Europe
Dataset3(DF3) - 私は
ORG_ID COUNTRY TOWN STORE PRODUCT PRICE CUSTOMER TYPE PARENT REGION
1 Spain Madrid Pink Garment 100 T Fig Tulip Europe
2 Greece Chania White Toy 200 NaN NaN NaN NaN
3 U.K Manchester Red Garment 300 NaN NaN NaN NaN
4 Italy Rome Red Accessory 500 Y Pop Rose Europe
5 Spain Marbella Blue Accessory 20 A Pop Rose Europe
6 Greece Chania Green Garment 25 R Fig Lily Europe
7 U.K Manchester Pink Toy 36 H Pop Tulip Europe
8 Italy Siena Red Accessory 150 S Fig Rose Europe
9 Spain Barcelona White Toy 200 NaN NaN NaN NaN
10 Greece Corfu Blue Accessory 500 A Cry Tulip Europe