Не прямой ответ, но содержит код, который не может быть отформатирован в комментарии и должен быть достаточным для решения проблемы.
Когда pandas сообщает, что , вы пытаетесь объединить float64 и objectстолбцы , это конечно правильно.Это может быть неочевидно, потому что pandas полагается на numpy, и что столбец numpy object может хранить любые данные.
Я закончил с простой функцией для диагностики всех этих проблем с типом данных:
def show_types(df):
for i,c in enumerate(df.columns):
print(df[c].dtype, type(df.iat[0, i]))
Показывает как тип данных pandas столбцов информационного кадра, так и фактический тип первого элемента столбца.Это может помочь увидеть разницу между столбцами, содержащими элементы str
, и другими, содержащими элементы datatime.datatime
, в то время как тип данных просто objects
.
Используйте это на обоих ваших фреймах данных, и проблема должна статьочевидно ...