Объединить два кадра данных, но получить ValueError - PullRequest
0 голосов
/ 24 марта 2020

Когда я объединяю два кадра данных (с разным количеством строк) в «Дата», как показано ниже, я получаю ошибку ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat. Я посмотрел на ответ здесь и преобразовал даты в обоих моих кадрах данных в 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

1 Ответ

0 голосов
/ 24 марта 2020

Это может работать -

For inner join :
pd.merge(df_fly, df_trial, on='Date')

For outer join :
pd.merge(df_fly, df_trial, on='Date', how='outer')

Просто убедитесь, что столбец type из Date в обоих кадрах данных одинаков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...