And*_*ndy 96 python formatting pandas ipython-notebook
我在查看以下内容时遇到问题DataFrame:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
Run Code Online (Sandbox Code Playgroud)
问题是它不会在ipython笔记本中默认打印所有行,但我必须切片才能查看生成的行.即使以下选项也不会更改输出:
pd.set_option('display.max_rows', 500)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何显示整个阵列?
Wou*_*ire 156
对于版本0.11.0,您需要更改两者display.max_rows和display.height.
pd.set_option('display.max_rows', 500)
Run Code Online (Sandbox Code Playgroud)
Adr*_*aud 33
pd.set_option('display.max_rows', 500)
df
Run Code Online (Sandbox Code Playgroud)
不工作的Jupyter!
而是使用:
pd.set_option('display.max_rows', 500)
df.head(500)
Run Code Online (Sandbox Code Playgroud)
sta*_*iet 28
我不知道为什么没人提到这个。
您还应该设置'display.min_rows'.
pd.set_option('display.min_rows', 500) # <-add this!
pd.set_option('display.max_rows', 500)
Run Code Online (Sandbox Code Playgroud)
如果total number of rows > display.max_rows ,
那么,仅仅设置display.max_rows是行不通的。
(是的,这很混乱。应该修改。)
Ted*_*rou 24
就个人而言,我喜欢直接使用赋值语句设置选项,因为通过iPython可以很容易地通过选项卡完成找到它们.我发现很难记住确切的选项名称是什么,所以这种方法适合我.
例如,我必须要记住的是它始于 pd.options
pd.options.<TAB>
Run Code Online (Sandbox Code Playgroud)
大多数选项都在 display
pd.options.display.<TAB>
Run Code Online (Sandbox Code Playgroud)
从这里,我通常输出当前值是这样的:
pd.options.display.max_rows
60
Run Code Online (Sandbox Code Playgroud)
然后我把它设置为我想要的:
pd.options.display.max_rows = 100
Run Code Online (Sandbox Code Playgroud)
此外,您应该了解选项的上下文管理器,它会临时设置代码块中的选项.将选项名称作为字符串传递,后跟您希望的值.您可以在同一行中传入任意数量的选项:
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
some pandas stuff
Run Code Online (Sandbox Code Playgroud)
您还可以将选项重置为其默认值,如下所示:
pd.reset_option('display.max_rows')
Run Code Online (Sandbox Code Playgroud)
然后重置所有这些:
pd.reset_option('all')
Run Code Online (Sandbox Code Playgroud)
通过设置选项仍然非常好pd.set_option.我发现直接使用属性更容易,而且需要get_option和set_option.
aru*_*run 16
设置无限行数使用
没有任何
IE,
pd.set_option('display.max_columns', None)
Run Code Online (Sandbox Code Playgroud)
现在笔记本将显示笔记本内所有数据集中的所有行;)
同样,您可以设置将所有列显示为
pd.set_option('display.max_rows', None)
Run Code Online (Sandbox Code Playgroud)
现在,如果您使用仅使用数据帧运行单元格,而没有任何头或尾标记,则为
df
Run Code Online (Sandbox Code Playgroud)
然后它将显示数据框中的所有行和列df
nea*_*mcb 10
正如@hanleyhansen在评论中指出的那样,从版本0.18.1开始,该display.height选项已被弃用,并说"使用display.max_rows".所以你只需要像这样配置它:
pd.set_option('display.max_rows', 500)
Run Code Online (Sandbox Code Playgroud)
不推荐使用display.height,display.width现在只是一个格式化选项,不控制摘要的触发,类似于<0.11.0.
在此注释和此答案中已经指出了这一点,但是我将尝试对该问题给出更直接的答案:
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)
Run Code Online (Sandbox Code Playgroud)
pandas.option_context是因为大熊猫0.13.1(可用大熊猫0.13.1版本说明)。根据此,
[it]允许您执行带有一组选项的代码块,当您退出with块时,这些选项会还原为先前的设置。
print(foo.to_string())
Run Code Online (Sandbox Code Playgroud)
小智 6
我将使用上下文管理器来设置这些选项,以便我可以控制哪个 df 应该受到影响。
with pd.option_context('display.min_rows', 50, 'display.max_columns', None):
display(df)
Run Code Online (Sandbox Code Playgroud)
还有,代替display.max_rows使用display.min_rows。这应该无需设置即可工作display.max_rows。
| 归档时间: |
|
| 查看次数: |
92786 次 |
| 最近记录: |