在Chrome或Edge中,并非大数据框中的所有行都显示 pandas 样式 [英] pandas styling doesn't display for all rows in large dataframes in Chrome or Edge

查看:49
本文介绍了在Chrome或Edge中,并非大数据框中的所有行都显示 pandas 样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新2:

  • 问题似乎出在Google Chrome和Microsoft Edge
  • Firefox中的Jupyter Lab可以正确显示所有样式行并正确呈现输出HTML文件.
  • 更新的问题是

    1. 为什么这不能在Chrome或Edge中使用?
    2. 有没有更有效的方式来应用样式?

原文:

  • 问题-它们是相互关联的:

    1. 为什么不是所有行都以Jupyter或HTML格式显示背景样式?
      • 所有行都应具有绿色样式,但最后5行不显示样式.
    2. 如何使所有行都显示背景样式?

  • 给出一个大数据框,在这种情况下为 474行x 35列,所应用的样式将停止显示.
  • 如果行数或列数增加到超过此大小,则不会显示更多行.
  • 我们从样式图中可以看到,这些行已正确映射为背景色,但未显示出来.
  • 如果减少行数或列数,则所有行均显示正确的样式.
  • jupyterlab v3.0.11
  • 中进行了测试
  • PyCharm 2021.1(专业版)内部版本#PY-211.6693.115(建于2021年4月6日中)中,将重新渲染的样式器保存到文件中具有相同的结果,所以这不仅仅是 jupyter 出现问题.
  • 这个问题在我尝试过的两个不同的系统上都可以重现.
  • 如果形状缩小为 471行×35列 474行×34列,则所有行均正确显示突出显示.
  • 相关的熊猫错误报告:
  • 它在评论对我来说工作完美..."中表示..但是,可以看出,最后5行应包含绿色样式,但不能包含绿色样式.

解决方法

拆分数据框

  • 这令人不满意,但是可以拆分DataFrame并应用样式,因为这样可以减小整体大小.

  cat_mean.iloc [:237,:].style.apply(颜色,轴=无)cat_mean.iloc [237 :,:].style.apply(颜色,轴=无) 

保存到Excel

  • 保存到Excel时,所有行均正确显示为带有突出显示的颜色

  test = cat_mean.style.apply(color,axis = None)test.to_excel('test.xlsx',engine ='openpyxl') 

更新1:

  • 以下选项产生的结果与原始尝试的结果相同
    • 创建HTML文件的标准python控制台
    • PyCharm创建HTML文件
    • Jupyter Lab在单元格中显示样式化的数据框.

pd.show_versions()

的输出

 安装的版本------------------提交:2cb96529396d93b46abab7bbc73a208e708c642e的Python:3.9.2.final.0python位:64作业系统:Windows操作系统版本:10版本:10.0.19041机器:AMD64处理器:Intel64 Family 6 Model 60 Stepping 3,真正的英特尔字节顺序:小LC_ALL:无朗:无本地电话:English_United States.1252熊猫:1.2.4numpy的:1.20.0pytz:2021.1dateutil:2.8.1点:21.0.1setuptools:52.0.0.post20210125Cython:无pytest:无假设:无狮身人面像:无blosc:无羽毛:无xlsxwriter:无lxml.etree:无html5lib:无pymysql:无psycopg2:无jinja2:2.11.3IPython的:7.22.0pandas_datareader:无bs4:无瓶颈:无fsspec:无fastparquet:无gcsfs:无matplotlib:无numexpr:无odfpy:无openpyxl:无pandas_gbq:无pyarrow:没有pyxlsb:无s3fs:无scipy:无sqlalchemy:无桌子:无列表:无xarray:无xlrd:无xlwt:无numba:无 

解决方案

答案:为什么这在Chrome或Edge中不起作用?

  • 每个bug #39400 时,大型数据帧会出现此问题,因为Styler将所有CSS ID放在一个属性中,所有浏览器都无法解析.
  • 在下面的小片段中,所有ID均位于顶部.
    • 代码段ID适用于5行和35列,尽管仅包含1个表行的数据.

 < style type ="text/css">#T__row0_col0,#T__row0_col1,#T__row0_col4,#T__row0_col5,#T__row0_col6,#T__row0_col11,#T__row0_col12,#T__row0_col13,#T__row0_col16,#T__row0_col19,#T__row0_col20,#T__row0_col22,#T__row0_col23,#T__row0_col24,#T__row0_col26,#T__row0_col27,#T__row0_col28,#T__row0_col30,#T__row0_col33,#T__row0_col34,#T__row1_col0,#T__row1_col1,#T__row1_col4,#T__row1_col8,#T__row1_col9,#T__row1_col11,#T__row1_col13,#T_row_1,col_T_col_1T__row1_col34,#T__row2_col0,#T__row2_col1,#T__row2_col3,#T__row2_col7,#T__row2_col8,#T__row2_col9,#T__row2_col10,#T__row2_col12,#T__row2_col13,#T__row2_col16,#T__row2_col19,#T__row2_col20,#T__row2_col24,#T__row2_col26,#T__row2_col27,#T__row2_col28,#T__row2_col30,#T__row2_col32,#T__row3_col0,#T__row3_col3,#T__row3_col4,#T__row3_col6,#T__row3_col7,#T__row3_col8,#T__row3_col9,#T__row3_col15,#T__row3_col17,#T__row3_col20,#T__row3_col22,#T__row3_col27,#T__row3_col28,#T__row3_col29,#T__row3_col31,#T__row3_col34,#T__row4_col0,#T__row4_col1,#T__row4_col2,#T__row4_col3,#T__row4_col4,#T__row4_col6,#T__row4_col8,#T__row4_col14,#T__row4_col16,#T__row4_col17,#T__row4_col18,#T__row4_col19,#T__row4_col22,#T__row4_col23,#T__row4_col25,#T__row4_col27,#T__row4_col29,#T__row4_col32,#T__row4_col33 {文本对齐:居中;}#T__row0_col2,#T__row0_col3,#T__row0_col7,#T__row0_col8,#T__row0_col9,#T__row0_col10,#T__row0_col14,#T__row0_col15,#T__row0_col17,#T__row0_col18,col_T_col_0T__row1_col3,#T__row1_col5,#T__row1_col6,#T__row1_col7,#T__row1_col10,#T__row1_col12,#T__row1_col14,#T__row1_col16,#T__row1_col18,#T__row1_col19,#T__row1_col20,#T__row1_col23,#T__row1_col24,#T__row1_col25,#T__row1_col27,#T__row1_col28,#T__row1_col29,#T__row1_col30,#T__row1_col32,#T__row1_col33,#T__row2_col2,#T__row2_col4,#T__row2_col5,#T__row2_col6,#T__row2_col11,#T__row2_col14,#T__row2_col15,#T__row2_col17,#T__row2_col18,#T__row2_col21,#T__row2_col22,#T__row2_col23,#T__row2_col25,#T__row2_col29,#T__row2_col31,#T__row2_col33,#T__row2_col34,#T__row3_col1 、、T__row3_col24,#T__row3_col25,#T__row3_col26,#T__row3_col30,#T__row3_col32,#T__row3_col33,#T__row4_col5,#T__row4_col7,#T__row4_col9,#T__row4_col10,#T__row4_col11,#T__row4_col12,col_T#_row_4#T__row4_col28,#T__row4_col30,#T__row4_col31,#T__row4_col34 {背景颜色:绿色;文本对齐:居中;}</style><表id ="T__">< thead>< tr>< th class ="blank"></th>< th class ="blank level0"></th>< th class ="col_heading level0 col0"> val1</th>< th class ="col_heading level0 col1"> val2</th>< th class ="col_heading level0 col2"> val3</th>< th class ="col_heading level0 col3"> val4</th>< th class ="col_heading level0 col4"> val5</th>< th class ="col_heading level0 col5"> val6</th>< th class ="col_heading level0 col6"> val7</th>< th class ="col_heading level0 col7"> val8</th>< th class ="col_heading level0 col8"> val9</th>< th class ="col_heading level0 col9"> val10</th>< th class ="col_heading level0 col10"> val11</th>< th class ="col_heading level0 col11"> val12</th>< th class ="col_heading level0 col12"> val13</th>< th class ="col_heading level0 col13"> val14</th>< th class ="col_heading level0 col14"> val15</th>< th class ="col_heading level0 col15"> val16</th>< th class ="col_heading level0 col16"> val17</th>< th class ="col_heading level0 col17"> val18</th>< th class ="col_heading level0 col18"> val19</th>< th class ="col_heading level0 col19"> val20</th>< th class ="col_heading level0 col20"> val21</th>< th class ="col_heading level0 col21"> val22</th>< th class ="col_heading level0 col22"> val23</th>< th class ="col_heading level0 col23"> val24</th>< th class ="col_heading level0 col24"> val25</th>< th class ="col_heading level0 col25"> val26</th>< th class ="col_heading level0 col26"> val27</th>< th class ="col_heading level0 col27"> val28</th>< th class ="col_heading level0 col28"> val29</th>< th class ="col_heading level0 col29"> val30</th>< th class ="col_heading level0 col30"> val31</th>< th class ="col_heading level0 col31"> val32</th>< th class ="col_heading level0 col32"> val33</th>< th class ="col_heading level0 col33"> val34</th>< th class ="col_heading level0 col34"> val35</th></tr>< tr>< th class ="index_name level0"> name</th>< th class ="index_name level1"> cat</th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th>< th class ="blank"></th></tr>/thead< tbody>< tr>< th id ="T__level0_row0" class ="row_heading level0 row0" rowspan ="3"> Alisha Ortiz</th>< th id ="T__level1_row0" class ="row_heading level1 row0"> 1</th>< td id ="T__row0_col0" class =数据row0 col0"> 4.46</td>< td id ="T__row0_col1" class =数据row0 col1"> 4.62</td>< td id ="T__row0_col2" class =数据row0 col2"> 5.73</td>< td id ="T__row0_col3" class ="data row0 col3"> 6.12</td>< td id ="T__row0_col4" class =数据row0 col4"> 4.77</td>< td id ="T__row0_col5" class =数据row0 col5"> 4.73</td>< td id ="T__row0_col6" class =数据row0 col6"> 4.50</td>< td id ="T__row0_col7" class =数据row0 col7"> 6.12</td>< td id ="T__row0_col8" class =数据row0 col8"> 5.50</td>< td id ="T__row0_col9" class =数据row0 col9"> 5.92</td>< td id ="T__row0_col10" class =数据row0 col10"> 6.08</td>< td id ="T__row0_col11" class =数据row0 col11"> 4.92</td>< td id ="T__row0_col12" class =数据row0 col12"> 5.42</td>< td id ="T__row0_col13" class =数据row0 col13"> 5.38</td>< td id ="T__row0_col14" class =数据row0 col14"> 6.08</td>< td id ="T__row0_col15" class =数据row0 col15"> 5.77</td>< td id ="T__row0_col16" class =数据row0 col16"> 5.31</td>< td id ="T__row0_col17" class =数据row0 col17"> 5.58</td>< td id ="T__row0_col18" class =数据row0 col18"> 6.12</td>< td id ="T__row0_col19" class =数据row0 col19"> 4.77</td>< td id ="T__row0_col20" class ="data row0 col20"> 5.19</td>< td id ="T__row0_col21" class =数据row0 col21"> 5.96</td>< td id ="T__row0_col22" class ="data row0 col22"> 4.88</td>< td id ="T__row0_col23" class =数据row0 col23"> 5.31</td>< td id ="T__row0_col24" class =数据row0 col24"> 4.65</td>< td id ="T__row0_col25" class ="data row0 col25"> 5.88</td>< td id ="T__row0_col26" class =数据row0 col26"> 5.38</td>< td id ="T__row0_col27" class ="data row0 col27"> 5.27</td>< td id ="T__row0_col28" class ="data row0 col28"> 4.88</td>< td id ="T__row0_col29" class =数据row0 col29"> 6.35</td>< td id ="T__row0_col30" class =数据row0 col30"> 5.19</td>< td id ="T__row0_col31" class =数据row0 col31"> 5.81</td>< td id ="T__row0_col32" class =数据row0 col32"> 5.85</td>< td id ="T__row0_col33" class =数据row0 col33"> 5.46</td>< td id ="T__row0_col34" class ="data row0 col34"> 4.50</td></tr>  

答案:是否有一种更有效的方式来应用样式?

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆