Как исправить исключение StreamlitAPIException: («Ожидаемые байты, получен объект ‘int'», «Не удалось выполнить преобразование для столбца FG% с типом object»)

#python #pandas #streamlit

Вопрос:

Ошибка:

 StreamlitAPIException: ("Expected bytes, got a 'int' object", 'Conversion failed for column FG% with type object')
 

Отслеживание ошибок

 Traceback:
File "C:UsersASUSstreamlit_freecodecamp-mainapp_3_eda_basketballbasketball_app.py", line 44, in <module>
    st.dataframe(df_selected_team)
 

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Это ошибка, которая пришла вместе с streamlit 0.85.0 ним . pyarrow имеет проблему со numpy.dtype значениями (которые возвращает df.dtypes).

Этот вопрос был подан и, надеюсь, скоро будет решен.

Возможным обходным путем является преобразование ячеек фрейма данных в строки с df.astype(str)

В вашем случае

 test = df_selected_team.astype(str)
st.dataframe(test)
 

или

понизьте свою потоковую версию до 0.84

или

Предпочтительным решением для этого является использование старого сериализатора кадров данных, установив его в файле .streamlit/config.toml:

 [global]
dataFrameSerialization = "legacy"
 

Это позволяет вам продолжить обновление до последней версии Streamlit.

Следуйте этой теме для получения дополнительных обновлений

Комментарии:

1. .astype(str) работал на меня. Спасибо

2. Отлично! Я использовал эту "legacy" опцию, и она работает просто отлично. У каждой проблемы уже есть решение здесь, чудесно!

Ответ №2:

У меня была та же проблема. Затем я понизил свою версию с потоковым освещением, чтобы она работала, в настоящее время я запускаю 0,75 с потоковым освещением.