Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何打印pandas.io.formats.style.Styler对象_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何打印pandas.io.formats.style.Styler对象

Python 如何打印pandas.io.formats.style.Styler对象,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下生成pandas.io.formats.style.Styler对象的代码: import pandas as pd import numpy as np df = pd.DataFrame({'text': ['foo foo', 'bar bar'], 'number': [1, 2]}) df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'cen

我有以下生成pandas.io.formats.style.Styler对象的代码:

import pandas as pd
import numpy as np

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df2 = df1.set_properties(**{'text-align': 'center'}).hide_index()
df2   # df2 is a pandas.io.formats.style.Styler object
如果在上述脚本下运行了更多代码,例如:

import pandas as pd
import numpy as np

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df2 = df1.set_properties(**{'text-align': 'center'}).hide_index()
df2

np.round(0.536, 2)
我尝试使用print语句,但它的输出如下:

import pandas as pd
import numpy as np

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df2 = df1.set_properties(**{'text-align': 'center'}).hide_index()
print(df2)

np.round(0.536, 2)

0.54

任何帮助都将不胜感激。非常感谢。set_properties方法用于创建应用于数据帧的样式。如果要在更改属性后检查数据帧样式,只需打印更改的数据帧

在你的例子中,你应该做:

import pandas as pd

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df.style.set_properties(**{'text-align': 'center'})

print(df)

方法set_properties返回一个样式器,而不是数据帧。您可以查看文档。

我找到了以下答案:

import pandas as pd
from IPython.display import display
import numpy as np

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df2 = df1.set_properties(**{'text-align': 'center'}).hide_index()
display(df2)

np.round(0.536, 2)

谢谢@PNX,但我似乎看不到任何关于打印pandas.io.formats.style.Styler对象的问题的参考资料谢谢@mtchaves。因此,我无法使用我设置的样式打印dataframe表(即居中对齐表的标题和值并隐藏索引)?是的,当应用样式后打印df时,它应该以不同的方式显示。我建议您仔细阅读此文档,以便更好地理解它。()谢谢@mtchaves。事实上,我已经找到了一种方法来做到这一点。如果有兴趣,请参阅下面的答案。@mtchaves-您对数字格式有什么建议吗?我试图使用
df.descripe.style.format('{:,}')
将数据帧打印到终端,但没有成功。文档中不清楚如何实现这一点——也许我遗漏了什么?
import pandas as pd
from IPython.display import display
import numpy as np

df = pd.DataFrame({'text': ['foo foo', 'bar bar'],
                 'number': [1, 2]})

df1 = df.style.set_table_styles([dict(selector='th', props=[('text-align', 'center')])])
df2 = df1.set_properties(**{'text-align': 'center'}).hide_index()
display(df2)

np.round(0.536, 2)