~~编辑,因为我看到您需要行而不是列:
一旦应用了style
代码,它就会将Pandas 数据帧从pandas.core.frame.DataFrame
对象更改为pandas.io.formats.style.Styler
对象.Styler对象处理浮点数的方式与处理Pandas DataFrame对象的方式不同,并生成您在代码中看到的结果(更多小数点).您可以将格式更改为style.format
,以获得所需的结果:
data = [{"col1":"2021-01-02", "col2":32072, "col3":0.0, "col4":1831, "col5":1831,
"col6":1.0, "col7":1, "col8":0, "col9":1, "column10":0.0, "col11":1.0}]
data1 = pd.DataFrame(data)
data1 = data1.style.format(precision=1, subset=list(data1.columns)).set_properties(**{'background-color': 'red'}, subset=['column10'])
data1
输出:
一旦使用了Style,它就不再是Pandas 数据帧,而是Styler对象.因此,适用于Pandas 数据帧的常规命令不再适用于新样式的数据帧(例如,只执行head(10)
不再起作用).但是,也有一些可行的办法.如果要在应用样式后仅查看Styler的前10行,则可以导出所使用的样式,然后重新应用它以仅查看前10行:
data = [{"col1":"2021-01-02", "col2":32072, "col3":0.0, "col4":1831, "col5":1831,
"col6":1.0, "col7":1, "col8":0, "col9":1, "column10":0.0, "col11":1.0}]
data1 = pd.DataFrame(data)
data1 = data1.append(data*20).reset_index(drop=True)
data1 = data1.style.format(precision=1, subset=list(data1.columns)).set_properties(**{'background-color': 'red'}, subset=['column10'])
提供了一个大型数据帧:
然后使用此代码之后将只显示其中的10行:
style = data1.export()
data1.data.head(10).style.use(style).format(precision=1, subset=list(data1.columns))
Now it is only showing the first 10 rows: