我有一个问题,查看以下数据框架:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
问题是它不会在ipython notebook中按默认值打印所有行,但我必须切片才能查看结果行。即使下面的选项也不会改变输出:
pd.set_option('display.max_rows', 500)
有人知道如何显示整个数组吗?
我有一个问题,查看以下数据框架:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
问题是它不会在ipython notebook中按默认值打印所有行,但我必须切片才能查看结果行。即使下面的选项也不会改变输出:
pd.set_option('display.max_rows', 500)
有人知道如何显示整个数组吗?
当前回答
正如@hanleyhansen在评论中指出的那样,从0.18.1版本开始,显示。高度选项已弃用,并表示“使用显示”。max_rows相反”。所以你只需要这样配置它:
pd.set_option('display.max_rows', 500)
参见发行说明- pandas 0.18.1文档:
弃用。高度,显示。宽度现在只是一个格式化选项,不控制摘要的触发,类似于< 0.11.0。
其他回答
我不知道为什么没人提这个。
你还应该设置'display.min_rows'。
pd.set_option('display.min_rows', 500) # <-add this!
pd.set_option('display.max_rows', 500)
如果总行数> display.max_rows,
然后,设置只显示。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’)
在这个类似问题的答案中,没有必要侵入设置。这样写要简单得多:
print(foo.to_string())
在这篇评论和回答中已经指出了这一点,但我将尝试对这个问题给出更直接的回答:
from IPython.display import display
import numpy as np
import pandas as pd
n = 100
foo = pd.DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
with pd.option_context("display.max_rows", foo.shape[0]):
display(foo)
熊猫。Option_context自pandas 0.13.1 (pandas 0.13.1发行说明)以来可用。 根据这个,
[it]允许[s]你用一组选项来执行一个代码块,当你退出with块时,这些选项会恢复到之前的设置。
正如@hanleyhansen在评论中指出的那样,从0.18.1版本开始,显示。高度选项已弃用,并表示“使用显示”。max_rows相反”。所以你只需要这样配置它:
pd.set_option('display.max_rows', 500)
参见发行说明- pandas 0.18.1文档:
弃用。高度,显示。宽度现在只是一个格式化选项,不控制摘要的触发,类似于< 0.11.0。