有什么办法可以在 pandas 中的造型器上应用另一种样式

is there any way i can apply another style on a styler in pandas

我的数据框列中有 NAN 值,我需要用空字符串替换它。我需要对这些列执行减法,所以当替换为空字符串时出现错误:

unsupported operand types for -:'str' and 'str'.

因此,在将样式应用到我的数据框时,我添加了这一行,它也能正常工作:

df.style.set_na_rep('')

但是当我向样式添加格式函数以在列中连接“%”符号时,NAN 值与“%”符号一起重新出现。

那么语法是:

df = (df.style.apply(highlight_cells, axis = None).set_na_rep('')).format({'B':'{:}%','C':'{:}%'}).set_table_styles(...)
一个 B C
ab 8.3% 4.7%
光盘 9.0% 南%
ef 南% 南%
南% 13.9%

任何人都可以提出建议,我是 pandas 和数据帧方面的新手。 谢谢

在最新版本的 pandas 1.3.0 中,set_na_rep() 已弃用,您应该改用 format(na_rep="xx")

如果这些值确实缺失,即它们是 pd.nanpd.isna(val) returns True 那么该值将被替换为显示值 na_rep.

另一方面,如果您之前执行过一些操作并且该值是 'NAN' 的字符串表示形式,那么这不是缺失值(它是一个字符串),并且 na_rep 参数将无效。

其实你可以在这里看到相关的问题 (https://github.com/pandas-dev/pandas/pull/40060) and the ultimate solution (https://github.com/pandas-dev/pandas/pull/40134)