Pandas 样式不适用于 Google colab

Posted

技术标签:

【中文标题】Pandas 样式不适用于 Google colab【英文标题】:Pandas style doesn't work with Google colab 【发布时间】:2020-09-27 01:11:20 【问题描述】:

我正面临着 Google colab 和 pandas 风格的奇怪行为。在 google colab 上将样式应用于数据框时,一些基本样式被搞砸了:表格变得更小更紧凑,每隔一行的突出显示消失,行的悬停突出显示停止工作。

我附上了两张屏幕截图的并排图片:一张来自常规的 Jupiter 笔记本,其中一切正常,另一张来自 Google colab,其中的样式搞砸了。

代码极其简单:

df = pd.DataFrame(range(5)) # create a data frame

df                          # in a new cell - just show the dataframe

df.style.highlight_max()    # again, in a new cell. Works in Jupyter notebook, 
                            # doesn't work well on Google Colab. 

任何帮助将不胜感激。

【问题讨论】:

我现在正在努力解决这个问题。像在 Pandas DataFrame 中为单元格添加边框之类的解决方案在 CoLab 中根本不起作用。你找到解决办法了吗? @BreaksSoftware 我没有关于此的任何新信息。对不起。 如果我在 colab 的内部版本而不是公共版本上尝试这个,我会得到预期的输出。我会看看我是否可以将此错误转发给 Colab 团队。谢谢。 会发现正确的格式也很有用!谢谢 一种解决方法是添加自定义样式。示例:w3resource.com/python-exercises/pandas/style/… 【参考方案1】:

我认为这不是 pandas 样式器。 pandas 所做的只是呈现在笔记本或普通浏览器中运行良好的 html。 (Jupyter 有自己的一套 CSS,适用于呈现的表格)。 Google colab 将拥有自己的一套 CSS。

我怀疑 colab 默认 CSS 的层次结构不像 Jupyters 那样占主导地位。也许向他们提出问题?

【讨论】:

【参考方案2】:

这是 Colab 的 html 渲染的问题,但您可以尝试这样的方法来修复它,尽管它不会给出与 notebook 完全相同的结果。

df.style.highlight_max(axis=0).set_properties( **'width': '30px',**'text-align': 'center')

输出:

【讨论】:

【参考方案3】:

它对我有用:

import pandas as pd
df = pd.read_csv('/content/drive/My Drive/Colab Notebooks/teste.csv')
df.head(100).style.highlight_max(axis=0).set_properties( **'color': 'red')

但是它无法使用此功能

%load_ext google.colab.data_table

【讨论】:

以上是关于Pandas 样式不适用于 Google colab的主要内容,如果未能解决你的问题,请参考以下文章

具有多索引的 Pandas 样式对象

为啥 Seaborn 调色板不适用于 Pandas 条形图?

用户定义的函数不适用于 Pandas

谷歌地图风格不适用于韩国地区

Pandas fillna()不适用于DataFrame切片[重复]

截断表不适用于 SQL Server sqlalchemy 引擎和 pandas