Я пытаюсь объединить два фрейма данных вместе. df1 основан на слиянии других файлов (GTFS -маршруты, поездки, время остановки), а df2 - это файл времени остановки.
Когда я пытаюсь выполнить слияние, я получаю сообщение ValueError:
ValueError: You are trying to merge on object and int64 columns. If you wish to proceed you should use pd.concat
Я хочу объединить df, и я подтвердил, что два ключа, которые я пытаюсь объединить, являются строковыми объектами.
Я использую следующее, чтобы попытаться объединить два df
df3 = df1.join(df2, how='inner', on='stop_id')
Я попытался записать и прочитать df в файл и обратно, как это было предложено этот вопрос, а также преобразовать оба столбца в строковый объект, используя df.stop_id = df.stop_id.astype('str')
Я прочитал в файлах явное указание, что все столбцы являются строками
df2= pd.read_csv('stops.txt', dtype = {'stop_id': 'str',
'stop_code': 'str',
'stop_name': 'str',
'stop_lat': 'str',
'stop_lon': 'str',
'location_type': 'str',
'parent_station': 'str',
'wheelchair_boarding': 'str',
'platform_code': 'str'})
и проверьте типы данных
df1.stop_id.dtype
df2.stop_id.dtype
оба производят
dtype('O')
Но слияние по-прежнему не выполняется с указанной выше ошибкой. Как я могу решить эту проблему?
любезно предоставьте образцы данных с желаемым результатом





Пожалуйста, посмотрите и правильный ответ на этот вопрос. Я надеюсь, это поможет. stackoverflow.com/questions/52902909/…