【问题标题】:spark vs pandas dataframe (with large columns) head(n) in jupyter notebookjupyter笔记本中的spark vs pandas数据框(带有大列)head(n)
【发布时间】:2018-06-13 06:45:11
【问题描述】:

如今,数据具有大量特征。为了获得数据的简短摘要,人们将数据加载到数据框中并使用head() 方法来显示它。使用 Jupyter Notebooks(使用 Toree for scala)运行实验是很常见的。

Spark (scala) 适合处理大量数据,但其head() 方法不会在水平滚动的笔记本中显示列标题。

Pandas 数据框头 Spark Scala 数据帧头

我知道您可以使用 .columns 在 scala 数据框中获取列标题,但打印它不会沿数据列显示标题,因此难以理解。

【问题讨论】:

    标签: scala pandas apache-spark apache-spark-sql jupyter-notebook


    【解决方案1】:

    试试df.show(n=20, truncate=False),而不是df.head(20)。这是详细的documentation

    【讨论】:

    • 对于python,我可以同时使用pyspark和pandas,所以不会出现这样的问题。问题是关于 scala 中的 spark(您的文档:pyspark,正确的文档:spark.apache.org/docs/latest/api/scala/…)。 df.show() 的输出对于大量列是不可读的。
    • 我已经试过了,它给出了垃圾输出。尝试使用 100 列的数据框。事实上,Scala 版本还有一个参数“vertical”,但它是垂直逐行显示的。但是,我正在寻找像 df.head(10) 这样可水平滚动的漂亮表格显示,但带有可滚动的列标题。
    • Pandas 与 jupyter 紧密结合,所以它可以做很多好事。但这是诀窍,将您的 spark 数据帧转换为 pandas 数据帧。我现在没有可以试用的 jupyter 希望这能解决您的问题df.limit(20).toPandas().head()
    • 您没有遇到问题。这是关于 scala spark,而不是 pyspark。 toPandas 不适用于 scala。
    猜你喜欢
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2021-06-14
    • 2020-05-03
    • 2021-12-31
    • 2020-03-11
    • 2022-10-24
    • 2017-09-24
    相关资源
    最近更新 更多