python - 是否可以在 IPython 控制台中显示 Pandas 样式?

标签 python pandas console ipython pandas-styles

是否可以显示pandas styles在 iPython 控制台中? Jupyter 笔记本中的以下代码

import pandas as pd
import numpy as np

np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 5)})
df = pd.concat([df, pd.DataFrame(np.random.randn(5, 1), columns=list('B'))],
               axis=1)
df.style.format({'B': "{:.2%}"})

正确生产

enter image description here

在控制台中我只得到
In [294]: df.style.format({'B': "{:.2%}"})
Out[294]: <pandas.io.formats.style.Styler at 0x22f3f4fe780>

是否有可能在这里实现类似的结果,或者样式引擎是否依赖于 html 前端?

在此先感谢您的帮助。

最佳答案

我相信样式器确实需要一个 html 前端,比如 jupyter,即使它只格式化数字(而不是字体或颜色)。

见例如这里Using Pandas Styler .

要将一列转换为特定格式,应使用 .map方法:

df = pd.DataFrame({'A': np.linspace(1, 5, 5)})
df = pd.concat([df, pd.DataFrame(np.random.randn(5, 1), columns=list('B'))],
               axis=1)

df['C']=df['B'].map("{:.2%}".format)

print(df, end='\n\n')
print(df.dtypes)

     A         B         C
0  1.0  1.329212   132.92%
1  2.0 -0.770033   -77.00%
2  3.0 -0.316280   -31.63%
3  4.0 -0.990810   -99.08%
4  5.0 -1.070816  -107.08%

A    float64
B    float64
C     object
dtype: object

缺点是, df['C'] 不再是数字,因此您无法再对数据框进行正确排序。

关于python - 是否可以在 IPython 控制台中显示 Pandas 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505444/

相关文章:

Python,云 - 具有调度功能的在线网页抓取工具

python - 如何在 pandas 数据帧上使用 sklearn TFIdfVectorizer

python - 将预定义的数字分配给数据框中的列行值

c# - 使用 AttachConsole,当我附加的进程正在运行和喷出时,我仍然可以键入和运行其他命令

python - 我可以在不复制数据的情况下组合 NumPy 数组中的非相邻维度吗?

python - 使用高分辨率图像保存绘图

python - 为什么从数据框中检索单行作为字典而不是系列?

c++ - 按住滚动条卡住 win32 控制台应用程序

c# - 当您在 Windows 中运行 git push 命令时,控制台的标准输出重定向会发生什么

python - 如何让 Userb 第一条消息给我?下面的代码有助于获取最新消息。我想要该用户的第一条消息给我