【问题标题】:Pandas df.head() Error熊猫 df.head() 错误
【发布时间】:2013-05-15 04:42:08
【问题描述】:

我在使用 df.head() 时遇到了一个基本问题。执行该函数时,它通常会显示一个漂亮的 HTML 格式的前 5 个值的表格,但现在它似乎只对数据框进行切片并输出如下:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 5 entries, 0 to 4
Data columns (total 9 columns):
survived    5  non-null values
pclass      5  non-null values
name        5  non-null values
sex         5  non-null values
age         5  non-null values
sibsp       5  non-null values
parch       5  non-null values
fare        5  non-null values
embarked    5  non-null values
dtypes: float64(2), int64(4), object(3)

看了这个thread我试过了

pd.util.terminal.get_terminal_size()

并收到预期的输出 (80, 25)。使用

手动设置打印选项
pd.set_printoptions(max_columns=10)

产生与上述相同的切片数据帧结果。

在深入了解文档here 并使用

get_option("display.max_rows")
get_option("display.max_columns")

并获得正确的默认 60 行和 10 列。

我以前从未遇到过 df.head() 的问题,但现在它在我所有的 IPython Notebooks 中都存在问题。

我在谷歌浏览器中运行 pandas 0.11.0 和 IPython 0.13.2。

【问题讨论】:

  • 感谢您的报告,如果您想对其进行测试,y-p 已将a pull-request 放在一起以纠正此行为。我很确定我们将能够获得这个 11.1(几天后发布)。
  • @AndyHayden 太好了,我明天第一件事就是测试它。谢谢!

标签: pandas ipython ipython-notebook


【解决方案1】:

在 pandas 11.0 中,我认为使用了display.heightmax_rows(以及 display.width 和 max_columns`)的最小值,因此您也需要手动更改它。

我不喜欢这个,我之前在 github issue 上发过这个帖子。

【讨论】:

    【解决方案2】:

    尝试使用以下方法显示前 10 项

    from IPython.display import HTML 
    HTML(users.head(10).to_html())
    

    我认为 pandas 11.0 的头部功能完全不直观,应该 只是保持为 head() 并且你得到你的 html。

    【讨论】:

    • 谢谢你的想法,我会调查的。我相信 pandas 开发人员已经解决了这个问题,并在 pandas 11.1 中使其更加直观
    猜你喜欢
    • 2016-06-11
    • 2017-05-23
    • 2023-04-01
    • 2012-05-27
    • 2017-05-24
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多