Rafael99
Rafael99

Reputation: 287

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

Error:

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

Error Traceback

Traceback:
File "C:\Users\ASUS\streamlit_freecodecamp-main\app_3_eda_basketball\basketball_app.py", line 44, in <module>
    st.dataframe(df_selected_team)

Upvotes: 28

Views: 48007

Answers (2)

ahmedshahriar
ahmedshahriar

Reputation: 1076

I had the same problem. Then I downgraded my streamlit version to make it work, currently, I'm running streamlit 0.75.

Upvotes: 0

Ailurophile
Ailurophile

Reputation: 3005

It’s a bug that came with streamlit 0.85.0. pyarrow has an issue with numpy.dtype values (which df.dtypes returns).

The issue has been filed and hopefully will be taken care of soon.

A possible workaround is to convert DataFrame cells to strings with df.astype(str)

In your case

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

or

downgrade your streamlit version to 0.84

or

A preferable solution for this is to use the old dataframe serializer by setting this in your .streamlit/config.toml file:

[global]
dataFrameSerialization = "legacy"

This allows you to continue upgrading to the latest version of Streamlit.

Follow this thread for more updates

Upvotes: 35

Related Questions