@sega111sega

Как избежать ошибки The truth value of a Series is ambiguous&amp при записи фрейма в google sheets?

Имеется функция возвращающая DF:
def get_data_player(json): # возвращает ally_code & player_name

    data = json['data']
    data = pd.json_normalize(data)
    data = pd.DataFrame(
        data=data,
        index=None,
        columns=[
            'ally_code', 'name']
    )
    data.set_axis(
        ['ally_code', 'player_name'],
        axis='columns',
        inplace=True
    )

    return data

Полученный фрейм собирается с другими в большую таблицу и прекрасно выводится на печать, сохраняется в scv и xlsx.
Однако появилась необходимость записать его в google sheets. При записи возникает ошибка.

Запись произвожу так (другие фреймы прекрасно записываются аналогичным образом):
df2 = get_data_players()
wks_name = 'ally_codes_and_names'
d2g.upload(df2, spreadsheet_id, wks_name, credentials=credentials, row_names=True)

Ошибка:
Traceback (most recent call last):
File "/home/oksana/Рабочий стол/the_pit_test/main.py", line 158, in <module>
main()
File "/home/oksana/Рабочий стол/the_pit_test/main.py", line 149, in main
d2g.upload(df2, spreadsheet_id, wks_name, credentials=credentials, row_names=True)
File "/home/oksana/.local/lib/python3.8/site-packages/df2gspread/df2gspread.py", line 144, in upload
if not pd.isnull(df[col][idx]):
File "/home/oksana/.local/lib/python3.8/site-packages/pandas/core/generic.py", line 1329, in __nonzero__
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().


По найденной мной информации, ошибка возникает в связи с использованием операторов or и and, в которых python требуют истинностных значений. Однако я их не использую.

Как избежать ошибки изменив функцию для получения фрейма или изменив саму запись фрейма в GS?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы