Я пытаюсь объединить два фрейма данных вместе. df1 основан на слиянии других файлов (GTFS -маршруты, поездки, время остановки), а df2 - это файл времени остановки.
Когда я пытаюсь выполнить слияние, я получаю сообщение ValueError:
ValueError: вы пытаетесь объединить столбцы объекта и int64. Если вы хотите продолжить, вы должны использовать 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')
Но слияние по-прежнему не выполняется с указанной выше ошибкой. Как я могу решить эту проблему?