我正在尝试合并两个数据帧。数据帧df1将时间表示为日期(mm / dd / yyy),数据帧df2则按月表示时间(仅1、2或3)。还有多个其他共享列,例如“ Sku”,“客户名称”和“邮政编码”。
我尝试了两者之间的pd.merge,但是由于'Sku'具有重复的值,我最终得到了非常大的合并数据帧。并且在多列上合并将产生一个合并数据帧,其值应为应为x3的值。任何想法都会有所帮助。
df1
Date Sku Customer_Name Zip_Code Sales
1/2/2017 ANG00014 CUSTOMER 1 45679 2016
1/2/2017 ANG00014 CUSTOMER 8 54730 1512
1/4/2017 ANG00015 CUSTOMER 5 54730 504
.
.
.
df2
Month Sku Customer_Name Zip_Code Total Cost
2 ANG00011 CUSTOMER 1 45679 152584
3 ANG00011 CUSTOMER 4 45679 1222049
1 ANG00014 CUSTOMER 2 45679 41620
.
.
.
#Create month column in pd1
df1['Date'] = pd.to_datetime(df1['Date'], errors='coerce')
df1['Month'] = df1['Date'].dt.month
merge = pd.merge(pd1, pd2, on=['Month', 'Sku', 'Customer Name',
'Zip Code'])
df1行总计3,379; df2中的行总数为193;合并中的行总计3695