Pandas:设置最大行数

2025-02-20 09:23:00
admin
原创
24
摘要:问题描述:我在查看以下内容时遇到问题DataFrame:n = 100 foo = DataFrame(index=range(n)) foo['floats'] = np.random.randn(n) foo 问题是它不会在 ipython 笔记本中默认打印所有行,但我必须切片才能查看结果行。即使以下选项...

问题描述:

我在查看以下内容时遇到问题DataFrame

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

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

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

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


解决方案 1:

display.max_rows

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

对于旧版本的 pandas (<=0.11.0),您需要同时更改display.heightdisplay.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')

解决方案 2:

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

在 Jupyter 中不起作用

请改用:

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

解决方案 3:

就我个人而言,我喜欢直接使用赋值语句设置选项,因为借助 iPython,通过 Tab 补全功能可以轻松找到选项。我发现很难记住确切的选项名称,所以这种方法对我来说很有效。

例如,我只需记住pd.options

pd.options.<TAB>

在此处输入图片描述

大多数选项可在display

pd.options.display.<TAB>

在此处输入图片描述

从这里,我通常会输出当前值,如下所示:

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

解决方案 4:

我不知道为什么没人提到这件事。

您还应该设置'display.min_rows'

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

如果total number of rows > display.max_rows

那么仅设置display.max_rows是行不通

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

解决方案 5:

此评论和此答案中已经指出了这一点,但我会尝试对这个问题给出更直接的回答:

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)

pandas.option_context自 pandas 0.13.1 版本起可用(pandas 0.13.1 发行说明)。据此,

[它]允许您执行带有一组选项的代码块,当您退出 with 块时,这些选项将恢复到以前的设置。

解决方案 6:

设置无限行数使用

没有任何

IE,

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

现在笔记本将显示笔记本内所有数据集的所有行;)

类似地,您可以设置为显示所有列

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

现在如果你使用只包含数据框而没有任何头或尾标签的单元格来运行

df

然后它将显示数据框中的所有行和列df

解决方案 7:

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

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

另外,不要display.max_rows使用display.min_rows。这应该可以在不设置 的情况下工作display.max_rows

解决方案 8:

正如 @hanleyhansen 在评论中指出的那样,从 0.18.1 版本开始,该display.height选项已被弃用,并表示“改用display.max_rows”。因此,您只需像这样配置它:

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

请参阅发行说明 — pandas 0.18.1 文档:

已弃用的 display.height,display.width 现在只是一个格式化选项,不控制摘要的触发,类似于 <0.11.0。

解决方案 9:

正如对类似问题的回答一样,无需破解设置。这样写要简单得多:

print(foo.to_string())

解决方案 10:

pd.options.display.max_rows = 无

这将显示所有行

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1325  
  IPD(Integrated Product Development)流程作为一种先进的产品开发管理模式,在众多企业中得到了广泛应用。它涵盖了从产品概念产生到产品退市的整个生命周期,通过整合跨部门团队、优化流程等方式,显著提升产品开发的效率和质量,进而为项目的成功奠定坚实基础。深入探究IPD流程的五个阶段与项目成功之间...
IPD流程分为几个阶段   4  
  华为作为全球知名的科技企业,其成功背后的管理体系备受关注。IPD(集成产品开发)流程作为华为核心的产品开发管理模式,其中的创新管理与实践更是蕴含着丰富的经验和深刻的智慧,对众多企业具有重要的借鉴意义。IPD流程的核心架构IPD流程旨在打破部门墙,实现跨部门的高效协作,将产品开发视为一个整体的流程。它涵盖了从市场需求分析...
华为IPD是什么   3  
  IPD(Integrated Product Development)研发管理体系作为一种先进的产品开发模式,在众多企业的发展历程中发挥了至关重要的作用。它不仅仅是一套流程,更是一种理念,一种能够全方位提升企业竞争力,推动企业持续发展的有效工具。深入探究IPD研发管理体系如何助力企业持续发展,对于众多渴望在市场中立足并...
IPD管理流程   3  
  IPD(Integrated Product Development)流程管理旨在通过整合产品开发流程、团队和资源,实现产品的快速、高质量交付。在这一过程中,有效降低成本是企业提升竞争力的关键。通过优化IPD流程管理中的各个环节,可以在不牺牲产品质量和性能的前提下,实现成本的显著降低,为企业创造更大的价值。优化产品规划...
IPD流程分为几个阶段   4  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用