我有一个问题,查看以下数据框架:

n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo

问题是它不会在ipython notebook中按默认值打印所有行,但我必须切片才能查看结果行。即使下面的选项也不会改变输出:

pd.set_option('display.max_rows', 500)

有人知道如何显示整个数组吗?


当前回答

我将使用上下文管理器来设置这些选项,以便我可以控制哪些df应该受到影响。

with pd.option_context('display.min_rows', 50, 'max_columns', None):
    display(df)

同样,代替显示。Max_rows使用显示。min_rows代替。这应该在不设置display.max_rows的情况下工作。

其他回答

设置display.max_rows:

pd.set_option('display.max_rows', 500)

对于旧版本的pandas(<=0.11.0),您需要更改两个显示。Height和display.max_rows。

pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)

请参见pd.describe_option('display')。

你可以暂时设置一个选项,就像这样:

from IPython.display import display
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
    display(df) #need display to show the dataframe when using with in jupyter
    #some pandas stuff

你也可以像这样将一个选项重置回默认值:

pd.reset_option(“display.max_rows”)

并将它们全部重置:

pd reset_option(’all’)

我不知道为什么没人提这个。

你还应该设置'display.min_rows'。

pd.set_option('display.min_rows', 500)  # <-add this!
pd.set_option('display.max_rows', 500)

如果总行数> display.max_rows,

然后,设置只显示。Max_rows将不起作用。

(是的,这很令人困惑。这应该被修改。)

pd.options.display。max_rows =无

这将显示所有的行

我将使用上下文管理器来设置这些选项,以便我可以控制哪些df应该受到影响。

with pd.option_context('display.min_rows', 50, 'max_columns', None):
    display(df)

同样,代替显示。Max_rows使用显示。min_rows代替。这应该在不设置display.max_rows的情况下工作。

在这个类似问题的答案中,没有必要侵入设置。这样写要简单得多:

print(foo.to_string())