在 Jupyter 中将 PySpark 数据帧打印为格式化表

Posted

技术标签:

【中文标题】在 Jupyter 中将 PySpark 数据帧打印为格式化表【英文标题】:Issue printing PySpark dataframe as formatted table in Jupyter 【发布时间】:2018-02-01 22:42:09 【问题描述】:

我有一个 PySpark 数据框 (df),我想在我的 Jupyter 笔记本中将其打印为格式良好的表格。

根据post,我认为以下代码可以工作:

import pandas as pd
from IPython.display import display, html

pandas_df = df.toPandas()

display(HTML(pandas_df.to_html()))

很遗憾,这不起作用。我收到以下错误:

ERROR - failed to write data to stream: <__main__.UnicodeDecodingStringIO object at 0x7f75c7a8e750>

有人知道如何解决这个问题吗?

谢谢!

【问题讨论】:

【参考方案1】:

尝试以下方法:

def printDF(inputDF):
    newDF = inputDF.toPandas()
    from IPython.display import display, HTML
    return HTML(newDF.to_html())

您还可以移动 import 语句,使其全局导入,而不是每次调用函数时都导入它。希望这会有所帮助。

【讨论】:

以上是关于在 Jupyter 中将 PySpark 数据帧打印为格式化表的主要内容,如果未能解决你的问题,请参考以下文章

在jupyter中访问数据框元素pyspark

数据库的 Pyspark/jupyter 笔记本显示问题

如何使用pyspark在jupyter笔记本中显示我的csv数据文件

如何在 jupyter 中像 pandas Dataframe 一样打印 Pyspark Dataframe

Pyspark:Jupyter Notebook 中的 spark 数据框列宽配置

如何从 Jupyter Notebook 中的 PySpark 远程连接到 Greenplum 数据库?