听我说,我是熊猫新手。要合并两个大型数据帧,我需要匹配几十万行乘以三列。一个df列中的年份格式为'MM/DD/YY HH:MM',另一个df列中的格式为'YYYY‘。这是我的merge命令:
df = pd.merge(df1, df2, how='left', left_on=['COL1','COL2','YEAR'],
right_on = ['COL1','COL2','DATE'])
最后两个YY
值跨列匹配--我如何标准化它们才能匹配这两个值?
发布于 2018-08-15 03:19:43
您必须创建一个与year列的日期格式相匹配的新列,然后在该新列上进行连接。第一行创建一个包含datetime对象的新列,然后第二行将该datetime对象格式化为四位数的year字符串,以匹配另一个数据帧的year列。
df2.new_date_col = [datetime.strptime(x, '%m/%d/%y %H:%M') for x in df2.date_col] df2.new_year_col = [x.strftime('%Y') for x in df2.new_date_col]
发布于 2018-08-16 04:16:55
使用Excel时,我使用Data > Text to Columns,这让我可以用'/‘分隔。从那时起,我更改了新年份列的格式以匹配(我选择了'text'),保存并重新运行了我的原始行。
https://stackoverflow.com/questions/51848309
复制相似问题