如何修复 StreamlitAPIException:(“预期字节,得到一个'int'对象”,'转换失败的列 FG% 类型为对象')
Posted
技术标签:
【中文标题】如何修复 StreamlitAPIException:(“预期字节,得到一个\'int\'对象”,\'转换失败的列 FG% 类型为对象\')【英文标题】:How to fix StreamlitAPIException: ("Expected bytes, got a 'int' object", 'Conversion failed for column FG% with type object')如何修复 StreamlitAPIException:(“预期字节,得到一个'int'对象”,'转换失败的列 FG% 类型为对象') 【发布时间】:2021-12-03 06:53:26 【问题描述】:错误:
StreamlitAPIException: ("Expected bytes, got a 'int' object", 'Conversion failed for column FG% with type object')
错误回溯
Traceback:
File "C:\Users\ASUS\streamlit_freecodecamp-main\app_3_eda_basketball\basketball_app.py", line 44, in <module>
st.dataframe(df_selected_team)
【问题讨论】:
请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:这是streamlit 0.85.0
附带的一个错误。 pyarrow
与 numpy.dtype
值(df.dtypes 返回)存在问题。
issue 已提交,希望很快得到处理。
一种可能的解决方法是将 DataFrame 单元格转换为带有 df.astype(str)
的字符串
你的情况
test = df_selected_team.astype(str)
st.dataframe(test)
或
将您的精简版降级为0.84
或
一个更好的解决方案是通过在 .streamlit/config.toml 文件中设置来使用旧的数据帧序列化器:
[global]
dataFrameSerialization = "legacy"
这使您可以继续升级到最新版本的 Streamlit。
关注thread 获取更多更新
【讨论】:
.astype(str) 为我工作。谢谢 太棒了!我使用了"legacy"
选项,它工作得很好。每个问题都已经有了解决方案,太棒了!
如果您的数据帧大小很大,则使用“旧”序列化程序将从基于箭头的新数据帧序列化程序中否定 benefits。所以建议在显示之前使用str转换作为过渡。【参考方案2】:
我遇到了同样的问题。然后我降级了我的 streamlit 版本以使其工作,目前,我正在运行 streamlit 0.75。
【讨论】:
以上是关于如何修复 StreamlitAPIException:(“预期字节,得到一个'int'对象”,'转换失败的列 FG% 类型为对象')的主要内容,如果未能解决你的问题,请参考以下文章