在Jupyter Python Notebook中显示所有数据框列


Answers:


172

尝试如下显示max_columns设置:

import pandas as pd
from IPython.display import display

df = pd.read_csv("some_data.csv")
pd.options.display.max_columns = None
display(df)

要么

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

编辑:熊猫0.11.0向后

不建议使用此功能,但在低于0.11.0的Pandas版本中,该max_columns设置指定如下:

pd.set_printoptions(max_columns=500)

除非您使用的是非常老版本的Pandas,否则应该可以使用。我已经更新了答案...
Isma

4
不敢相信这是做到这一点的方法!
信息交

2
如果要进行临时设置,可以使用例如with pd.option_context("display.max_rows", 10, "display.max_columns", 5):(请参阅“获取和设置选项”)。
本杰明·

34

我知道这个问题有点老了,但是以下内容在运行pandas 0.22.0和Python 3的Jupyter Notebook中为我工作:

import pandas as pd
pd.set_option('display.max_columns', <number of columns>)

您也可以对行执行相同的操作:

pd.set_option('display.max_rows', <number of rows>)

这样可以节省导入IPython的时间,并且pandas.set_option文档中还有更多选项:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html


1
如果您事先不知道列数,则可以在<列数>中使用None关键字。
kmundnic

9

适用于大型(但不是太大)DataFrame的Python 3.x

也许是因为我有较旧版本的熊猫,但在Jupyter笔记本上,这对我有用

import pandas as pd
from IPython.core.display import HTML

df=pd.read_pickle('Data1')
display(HTML(df.to_html()))

尝试过此操作,但它破坏了我的jupyter会话,导致内存不足。我的电脑有SSD和8 GB RAM内存...
FLBKernel

@FLBKernel它尚未对我执行此操作,也许您的数据框比我的大得多。你的出路是什么?您是否尝试过另一种方法并为您工作?如果是这样,请分享您的知识。谢谢。
rsc05

我还没有找到任何方法,但是一旦我解决了这个问题,我会立即通知您。是的,我的数据框可能更大,因此请指出,对于大型数据框,这不是可推荐的
FLBKernel,

1
@FLBKernel我的数据框也很大。但是我不知道它可以达到多大的程度。我会指出这一点。谢谢!
rsc05 '19

该矿有107.763行和15列。我们可以确定-也许-超过10万行15列是不值得推荐的。我虽然喜欢“大(但不要太大)”标题:)
FLBKernel

3

我建议在上下文管理器中设置显示选项,以使其仅影响单个输出。如果您还想打印“漂亮”的html版本,我将定义一个函数并df使用force_show_all(df)以下命令显示数据框:

from IPython.core.display import display, HTML

def force_show_all(df):
    with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.width', None):
        display(HTML(df.to_html()))

正如其他人提到的那样,请谨慎地仅在合理大小的数据帧上调用它。


1

您可以使用pandas.set_option()作为列,您可以指定以下任何选项

pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)

对于完整的打印列,您可以这样使用

import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())

在此处输入图片说明


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.