ipython notebook pandas max 允许的列数

Posted

技术标签:

【中文标题】ipython notebook pandas max 允许的列数【英文标题】:ipython notebook pandas max allowable columns 【发布时间】:2015-01-25 15:32:21 【问题描述】:

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

当我在笔记本中设置以下选项并打印我的 csv 文件(在 pandas 数据框中)时,它不会打印从左到右的所有列,它会打印前两列,下面的两列等等开。

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

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

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

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

【问题讨论】:

【参考方案1】:

我假设您想在笔记本中显示您的数据,而不是以下选项对我来说很好(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)

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

【讨论】:

我使用的是 python 3.4 我尝试使用 python 2.7 和 3.4。两者都按预期工作。 谢谢雅各布!那行得通。我从未见过“显示(数据)”部分,它有什么作用? display(data)print data 类似,但使用的是IPython 丰富的显示系统。如果你只是调用数据,你会得到数据表示作为输出(注意 OUT[x]),这对于前两个选项工作正常,但上下文管理器需要显示调用。 是否显示数据默认显示所有记录?其中 head 仅显示默认 5 或 .head(20)【参考方案2】:

您还可以通过让 pandas 返回 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 矩阵,速度差异很明显,但并不不方便。如果你有一张巨大的桌子,不要使用这种方法一次显示整个东西。也就是说,如果您确实有一张巨大的桌子,那么一次渲染整个东西显然不是一个好主意,但是您尝试这样做。

【讨论】:

【参考方案3】:

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

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

现在似乎工作正常 - 我的示例是 32 列,它曾经被截断,现在不再。

【讨论】:

以上是关于ipython notebook pandas max 允许的列数的主要内容,如果未能解决你的问题,请参考以下文章

在 IPython Notebook 中显示所有 pandas 数据框

Pandas / IPython Notebook:在数据框中包含和显示图像

ipython notebook pandas max 允许的列数

InstagramAPI - 如何将 JSON Python 数据解析为 Pandas DataFrame(iPython、Jupyter Notebook)

萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks

在IPython Notebook中愉快地使用python编程