繁体   English   中英

ipython笔记本熊猫最大允许列

[英]ipython notebook pandas max allowable columns

我有一个十列的简单csv文件!

当我在笔记本中设置以下选项并打印我的csv文件(位于pandas数据框中)时,它不会从左到右打印所有列,而是打印前两列,下两列,依此类推。

我使用了此选项,为什么它不起作用?

pd.option_context("display.max_rows",1,"display.max_columns",100)

即使这样似乎也不起作用:

pandas.set_option('display.max_columns', None)

我假设您要在笔记本中显示数据,但以下选项对我来说效果很好(IPython 2.3):

import pandas as pd
from IPython.display import display
data = pd.read_csv('yourdata.txt')

直接设置选项

pd.options.display.max_columns = None
display(data)

或者,使用您显示的set_option方法也可以正常工作

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

如果您不想为整个脚本设置此选项,请使用上下文管理器

with pd.option_context('display.max_columns', None):
    display(data)

如果这样做没有帮助,您可以举一个最小的例子来重现您的问题。

您还可以通过要求熊猫返回HTML标记,然后让IPython渲染HTML表来显示所有数据。

import pandas as pd
from IPython.display import HTML
data = pd.read_csv('yourdata.csv')
HTML(data.to_html())

使用IPython 3.0.0和Python 3.4,我发现@Jakob描述的display(data)将呈现为具有上/下和左/右滚动条的表,但是该表仍比单元格宽,并且某些列是不在屏幕右侧。 要查看所有数据,必须折叠单元格-这会添加滚动条。 因此,您在滚动框中有一个滚动框,这不是理想的选择,因为您必须在加倍的滚动条之间移动焦点才能一直浏览数据。

使用HTML方法,可以按原样呈现巨大的表,而无需任何滚动条。 然后可以将该单元折叠起来,以仅显示单个垂直和水平条,这对用户更加友好。

需要注意的是,使用HTML需要花费更长的时间来渲染表格。 我仅使用〜150x50矩阵,速度差异明显,但不方便。 如果您有一个巨大的表,请不要使用此方法立即显示整个内容。 就是说,如果您确实有一个巨大的表,那么立即渲染整个事情显然不是一个好主意,但是您尝试这样做。

我发现这个问题是Google上的热门歌曲之一。 在jupyter实验室,

pandas.set_option("display.max_columns", None)

现在似乎可以正常工作-我的示例是32列,它以前被截断了,现在不再可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM