有没有办法(漂亮)打印整个pandas系列/dataframe?

我在terminal上使用了Series和DataFrames。 一个Series的默认__repr__返回一个减less的样本,有一些头部和尾部的值,但其余的缺失。

是否有内置的方式来漂亮地打印整个系列/dataframe? 理想情况下,它将支持正确的alignment,也许列之间的边界,甚至可能为不同的列进行颜色编码。

您也可以使用option_context和一个或多个选项:

 with pd.option_context('display.max_rows', None, 'display.max_columns', 3): print(df) 

这会自动将选项返回到以前的值。

另外 :如果你正在jupyter笔记本上工作,使用display而不是print将使用jupyter丰富的显示逻辑。

当然,如果这个出现了很多,就做出这样的function吧。 您甚至可以将其configuration为每次启动IPython时加载: https : //ipython.org/ipython-doc/1/config/overview.html

 def print_full(x): pd.set_option('display.max_rows', len(x)) print(x) pd.reset_option('display.max_rows') 

至于着色方面,用颜色过于细腻的话听起来会适得其反,但我赞同bootstrap的.table-striped就好。 你总是可以创build一个问题来build议这个function。

无需破解设置。 有一个简单的方法:

 print(df.to_string()) 

只需使用它来打印整个框架:

 pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) 

也可以使用上下文pipe理器创build一个漂亮的打印function,就像上面的例子。

有关完整的有用选项列表,请参阅:

 pd.describe_option('display') 

几个使用的例子: http : //pandas.pydata.org/pandas-docs/stable/options.html