【问题标题】:iPython Notebook not printing Dataframe as tableiPython Notebook 未将 Dataframe 打印为表格
【发布时间】:2015-03-04 06:44:01
【问题描述】:

我正在尝试在 ipython 笔记本中打印 df,但它不会将其打印为表格。

data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012],
        'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'],
        'wins': [11, 8, 10, 15, 11, 6, 10, 4],
        'losses': [5, 8, 6, 1, 5, 10, 6, 12]}
football = pd.DataFrame(data, columns=['year', 'team', 'wins', 'losses'])

print football

输出

   year     team  wins  losses
0  2010    Bears    11       5
1  2011    Bears     8       8
2  2012    Bears    10       6
3  2011  Packers    15       1
4  2012  Packers    11       5
5  2010    Lions     6      10
6  2011    Lions    10       6
7  2012    Lions     4      12

我按照Show DataFrame as table in iPython Notebook的建议尝试了“显示”:

from IPython.display import display
#.....
print display(football)

也试过了:

pandas.core.format.set_printoptions(notebook_repr_html=True)

但出现错误:

AttributeError: 'module' object has no attribute 'set_printoptions'

如何将我的 df 打印为带有漂亮垂直和水平线的表格?

【问题讨论】:

  • 如果你这样做是否有效:pd.set_option('display.notebook_repr_html', True)
  • 还有你用的是什么版本的熊猫?我认为选项在 0.13 版左右移动到set_option
  • @EdChum - 是的,使用过,但仍然没有,我怎样才能找到我正在使用的版本?
  • pd.version.version 将输出版本,我在我的 pandas 和 ipython 版本中得到一个 HTML 表格,我分别使用 0.15.22.3.0 pandas 和 ipython
  • football.to_html() 工作吗?

标签: python pandas dataframe ipython-notebook


【解决方案1】:

set_printoptions 在最新版本的pandas 中已被set_options 替换,请尝试使用:

pandas.set_option('display.notebook_repr_html', True)

也不要使用print,只需在笔记本单元格的最后一行注明footballdisplay(football)

【讨论】:

  • 谢谢,我不得不在一个新的单元格中简单地说“足球”,有点奇怪?但它有效。
  • notebook_repr_html 默认为 True,因此您不需要设置它。
  • Python 将始终尝试使用默认显示来表示最后输出的内容,这就是 football 单独或在单元格末尾起作用的原因。
猜你喜欢
  • 2015-01-08
  • 2015-07-11
  • 2014-02-14
  • 1970-01-01
  • 2015-06-28
相关资源
最近更新 更多