当我在Streamlit中使用st.dataframe()
或st.table()
显示Pandas DataFrame时,NaN值显示为文本<NA>
。我想隐藏它们。
代码:
第一个
原始结果:
预期结果:
隐藏包含<NA>
的单元格,但不隐藏那些行,因为它们给予了其他行的上下文。任何允许值以固定精度(例如,2个小数位)右对齐的方法都可以。(理想情况下,我希望这样做时不将这些列中的值转换为字符串,但这不是一个硬性要求。)
我知道我没有按照预期的方式使用DataFrame,但它们似乎是我在Streamlit中显示表的唯一机制。
2条答案
按热度按时间iaqfqrcu1#
我尝试使用
pandas.io.formats.style.Styler.highlight_null
设置“不透明度:0”或“可见性:隐藏”,但Streamlit似乎忽略了这些CSS属性。我通过使用WebStorm和PyCharm找到了这个解决方案:
ymdaylpp2#
要隐藏 Dataframe 中的
NaN
值(您希望使用st.dataframe(df)
显示该值),只需将相应的条目转换为字符串,并将"nan"
替换为空格字符" "
。下面是替换列中所有
NaN
值的代码:df['column'] = df['column'].astype(str).replace("nan", " ")