【发布时间】:2020-07-05 07:01:00
【问题描述】:
当我在“日期”上合并两个数据帧(行数不同)时,如下所示,我收到错误 ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat。我查看了答案 here 并将两个数据框中的日期转换为 str 但我仍然收到错误消息。我也尝试将Dates 转换为int,但这会导致另一个错误ValueError: invalid literal for int() with base 10: '1919-01-01'。我不太确定如何解决这个问题。
df_trial.columns = ['Date', df_trial.columns[1]]
df_trial['Date'] = df_trial['Date'].astype(str)
df_fly.columns = ['Date', df_fly.columns[1]]
df_fly['Date'] = df_fly['Date'].astype(str)
df_trial = df_trial.merge(df_fly, left_on='Date', right_index=True).reset_index() ##Error
df_fly=
Date AGG
0 2003-10-01 -0.007216
1 2003-11-01 -0.000123
2 2003-12-01 0.001782
3 2004-01-01 0.009108
df_trial=
Date AAA
0 1919-01-01 4.09
1 1919-02-01 1.45
2 1919-03-01 5.21
【问题讨论】:
-
直接合并日期列
df_trial.merge(df_fly, on='Date', how='outer')