我经常在终端上使用Series和DataFrames。Series的默认__repr__返回一个减少的样本,其中有一些头部和尾部值,但其余的都没有。
是否有一种内置的方式来漂亮地打印整个系列/数据帧?理想情况下,它应该支持适当的对齐,可能是列之间的边界,甚至可能是不同列的颜色编码。
我经常在终端上使用Series和DataFrames。Series的默认__repr__返回一个减少的样本,其中有一些头部和尾部值,但其余的都没有。
是否有一种内置的方式来漂亮地打印整个系列/数据帧?理想情况下,它应该支持适当的对齐,可能是列之间的边界,甚至可能是不同列的颜色编码。
当前回答
你可以将expand_frame_repr设置为False:
显示。Expand_frame_repr:布尔值 是否打印宽DataFrame的完整DataFrame repr 跨多行,max_columns仍然得到尊重,但是输出 如果它的宽度超过了,会在多个“页面”上环绕吗 display.width。 (默认值:真实)
pd.set_option('expand_frame_repr', False)
要了解更多细节,请阅读如何漂亮地打印熊猫数据框架和系列
其他回答
你可以将expand_frame_repr设置为False:
显示。Expand_frame_repr:布尔值 是否打印宽DataFrame的完整DataFrame repr 跨多行,max_columns仍然得到尊重,但是输出 如果它的宽度超过了,会在多个“页面”上环绕吗 display.width。 (默认值:真实)
pd.set_option('expand_frame_repr', False)
要了解更多细节,请阅读如何漂亮地打印熊猫数据框架和系列
不需要侵入设置。有一个简单的方法:
print(df.to_string())
当然,如果这个经常出现,就做一个这样的函数。您甚至可以将其配置为在每次启动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条纹之类的东西会很好。您总是可以创建一个问题来建议这个功能。
您可以使用下面的方法来实现这一点。只需要传递总no。在DataFrame中显示为arg to的列
“display.max_columns”
例如:
df= DataFrame(..)
with pd.option_context('display.max_rows', None, 'display.max_columns', df.shape[1]):
print(df)
试试这个
pd.set_option('display.height',1000)
pd.set_option('display.max_rows',500)
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)