2013-05-07 67 views
52

我有一個問題,查看以下DataFrame熊貓:設置no。最大行數

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

的問題是,它不打印IPython的筆記本每默認情況下所有的行,但我不得不切片查看結果行。即使下面的選項不會改變輸出:

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

有誰知道如何顯示整個數組?

+0

您是否問如何使它可以瀏覽所有行或ipython筆記本爲什麼不這樣做 – 2013-05-07 16:58:39

+0

如果您只是在shell中運行它,該怎麼辦?它工作嗎? – 2013-05-07 17:04:03

+0

ipython shell中的同樣的問題。你能重現這個問題嗎? – Andy 2013-05-07 17:42:24

回答

91

對於版本0.11.0,您需要更改display.heightdisplay.max_rows

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

另請參閱pd.describe_option('display')

+4

對於pd.describe_option('display')+1,我不知道所有選項 – 2013-05-08 19:08:45

+15

Height現在已被棄用,所以display.max_rows選項就足夠了。 – hanleyhansen 2014-06-09 16:12:37

1

如在this answersimilar question中那樣,不需要破解設置。這是簡單得多寫:

print(foo.to_string()) 
+1

您不應該將其轉換爲字符串。這不是安迪要求的。 – simtim 2017-02-22 09:52:58

+0

@simtim Andy問及如何「顯示整個陣列」。這樣做會比接受的答案簡單得多。 – Ninjakannon 2017-02-22 11:06:18

6

由於@hanleyhansen的評論指出,由於0.18.1版本中,display.height選項已被棄用,並說:「使用display.max_rows代替」。所以,你只需要像這樣配置它:

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

Release Notes — pandas 0.18.1 documentation

棄用display.height,display.width現在只有一種格式選項不控制觸發總結,類似< 0.11.0。

3

個人而言,我喜歡直接使用賦值語句來設置選項,因爲iPython很容易通過tab完成查找。我發現很難記住確切的選項名稱,所以這種方法適用於我。

例如,所有我必須記住的是,它與pd.options

pd.options.<TAB> 

enter image description here

大多數選項都可以開始下display

pd.options.display.<TAB> 

enter image description here

從這裏,我通常輸出什麼電流值是這樣的:

pd.options.display.max_rows 
60 

我然後將其設置到我希望它是:

pd.options.display.max_rows = 100 

此外,你應該知道上下文選項管理器,它臨時設置代碼塊內的選項。將選項名稱作爲字符串傳入,然後輸入您希望的值。您可以通過在任意數量的同一行選項:

with pd.option_context('display.max_rows', 100, 'display.max_columns', 10): 
    some pandas stuff 

您還可以重置的選項恢復爲默認值是這樣的:

pd.reset_option('display.max_rows') 

和復位所有的人都回來:

pd.reset_option('all') 

通過pd.set_option來設置選項仍然非常好。我只是發現直接使用屬性更容易,並且需要更少的get_optionset_option

+0

'與pd.option_context'是這些答案中最乾淨的方法;最小的副作用。 – ijoseph 2018-01-23 19:53:20