pyspark在ipython笔记本中将数据帧显示为具有水平滚动的表

muo*_*uon 14 ipython pandas pyspark pyspark-sql jupyter-notebook

一个pyspark.sql.DataFrame混乱的显示DataFrame.show()- 行换行而不是滚动.

在此输入图像描述

但显示 pandas.DataFrame.head 在此输入图像描述

我试过这些选择

import IPython
IPython.auto_scroll_threshold = 9999

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
from IPython.display import display
Run Code Online (Sandbox Code Playgroud)

但没有运气.虽然在Atom编辑器中使用jupyter插件时滚动工作:

在此输入图像描述

小智 34

只需添加(并执行)

from IPython.core.display import HTML
display(HTML("<style>pre { white-space: pre !important; }</style>"))
Run Code Online (Sandbox Code Playgroud)

你会得到df.show()滚动条 在此输入图像描述


muo*_*uon 16

这是一种解决方法

spark_df.limit(5).toPandas().head()
Run Code Online (Sandbox Code Playgroud)

虽然,我不知道这个查询的计算负担.我在想 limit()是不贵的.更正欢迎.

  • 请注意,`limit()` 不保持数据帧的顺序。 (3认同)

小智 9

只需编辑 css 文件即可。

  1. 打开 jupyter 笔记本../site-packages/notebook/static/style/style.min.css文件。

  2. 搜索white-space: pre-wrap;,然后将其删除。

  3. 保存文件并重新启动 jupyter-notebook。

问题已解决。:)


Vij*_*gir 7

我不确定是否有人仍然面临这个问题。但是可以通过使用开发人员工具调整一些网站设置来解决。

当你做 在此处输入图片说明

打开开发人员设置 ( F12)。然后检查元件(ctrl+ shift+ c),然后点击输出。并取消选中空白属性(见下面的快照) 在此处输入图片说明

您只需要进行一次此设置。(除非你刷新页面)

这将按原样向您显示本机的确切数据。无需转换为熊猫。