【问题标题】:Is there a way to customize pandas.DataFrame.head()? [duplicate]有没有办法自定义 pandas.DataFrame.head()? [复制]
【发布时间】:2020-12-27 02:26:18
【问题描述】:

我有以下代码 sn-p 和输出:

import pandas as pd
df = pd.DataFrame.from_dict({'col_1': list(range(100)), 'col_2': [list(range(20))]*100})
df.head()

有没有一种方法可以自定义df.head() 的输出以获得更多行、更改列的截断等?

【问题讨论】:

  • 在询问之前应始终阅读the docs
  • 我认为,如果您坐下来阅读文档,您就会知道一切,这将需要很长时间。我很惊讶堆栈交换中不存在这个问题,所以我决定问它。我实际上也学到了一两件事
  • 我不提倡一口气读完完整的东西(有些人这样做,并且学到了很多东西)。但是您的具体问题之前可能没有被问过,因为它在文档中很明显......实际上它是该函数采用的 唯一 参数。我是SO的忠实拥护者,在这里我学到了我所知道的小编码,但是可以从官方来源回答的问题与这里无关。 --换句话说,您希望其他人为您阅读文档--
  • 这完全公平,我知道你来自哪里。我认为使这个问题有效的原因是我不想只更改行数,还想更改change the truncation of columns, etc.,这实际上需要不同的方法。问题更多的是“如何自定义 head() 的总输出”,而不仅仅是“如何更改 head 上的行数”。因此,我个人认为这个问题有可取之处。

标签: python-3.x pandas jupyter-notebook


【解决方案1】:

你可以:

df.head(xxx)

xxx = 行数

您也可以更改其他参数:

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)

【讨论】:

    【解决方案2】:

    您几乎可以使用pd.options.display 自定义所有内容。您使用以下方式设置一般格式:

    import pandas as pd
    pd.options.display.max_columns = 50  # None -> No Restrictions
    pd.options.display.max_rows = 10
    pd.options.display.max_colwidth = 100
    pd.options.display.precision = 3
    
    df = pd.DataFrame.from_dict({'col_1': list(range(100)), 'col_2': [list(range(20))]*100, 'col_3': [0.12345]*100})
    

    然后是行数:

    df.head(40)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 2020-11-02
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多