我有一个数据集(df1),我想从第二个数据集(df2)中填充数据。两个数据帧中只有一列重叠,我已将该列设置为df1和df2的索引,因此可以在索引上合并。你知道吗
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")
我希望输出是一个新的数据集(df3),它列出了df1中的所有数据,包括索引(ORG\u id),并包含了df2中的所有新列,其中包含了基于df1中列出的ORG\u id的填充数据。 python在这里所做的似乎是给我一个新的dataframe(df3),为df1填充数据,然后将第二个数据集(df2)中的所有组织id添加到df1中的组织id之下,这不是我想要的。你知道吗
我也尝试过使用combine\ u第一,但似乎产生了类似的结果。你知道吗
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
数据集2(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
数据集3(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
你不必在你的数据中
set_index
。可以将merge
与on
参数和how='left'
一起使用。你知道吗输出:
相关问题 更多 >
编程相关推荐