#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
df['location'] = df['Address'].apply(geocode)
df['point'] = df['location'].apply(lambda loc: tuple(loc.point) if loc else None)
df[['latitude', 'longitude', 'altitude']] = pd.DataFrame(df['point'].tolist(), index=df.index)
У меня есть только один столбец с именем address, но я не уверен, почему я получаю эту ошибку. Пробовал очищать и проверял запуск только с одной записью, но ошибка сохраняется. Но внезапно для нескольких наборов данных все сработало нормально. Помогите мне понять, спасибо
Комментарии:
1. проверьте
isinstance(df.columns, pd.MultiIndex)
2. Результат False …. Не могли бы вы помочь мне понять, как это мне помогает. Я новичок в python. Спасибо
3. Вы уверены, что
tuple(loc.point)
это всегда возвращает кортеж len= 3 ? После второй строки вы можете проверить, выполнивdf[df.point.apply(len) != 3]
поиск, чтобы найти любые строки-виновники. По сути, если вы пытаетесь назначить фрейм данных с более чем 3 столбцами (правая сторона) на 3 столбца (левая сторона), вы получите эту ошибку.