是否可以显示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%}"})
正确生产
在控制台中我只得到
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/