如何修复 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 附带的一个错误。 pyarrownumpy.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% 类型为对象')的主要内容,如果未能解决你的问题,请参考以下文章

如何修复漏洞

如何修复WMI

PHP网站漏洞怎么修复 如何修补网站程序代码漏洞

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)

如何修复AppScan漏洞

如何在DOS环境下修复系统