【问题标题】:How to extract a single (column/row) value from a dataframe using PySpark?如何使用 PySpark 从数据框中提取单个(列/行)值?
【发布时间】:2021-03-29 11:01:50
【问题描述】:

这是我的火花代码。它工作正常并返回 2517。我想要做的就是打印“2517 度”......但我不确定如何将 2517 提取到变量中。我只能显示数据框,但不能从中提取值。听起来超级简单,但不幸的是我被卡住了!任何帮助将不胜感激。谢谢!

df = sqlContext.read.format("csv").option("header", "true").option("inferSchema", "true").option("delimiter", "\t").load("dbfs:/databricks-datasets/power-plant/data")

df.createOrReplaceTempView("MyTable")

df = spark.sql("SELECT COUNT (DISTINCT AP) FROM MyTable")

display(df)

【问题讨论】:

    标签: pyspark apache-spark-sql


    【解决方案1】:

    这是另一种选择:

    df.first()['column name']
    

    它将为您提供所需的输出。您可以将其存储在变量中。

    【讨论】:

      【解决方案2】:

      我认为您正在寻找collect。像这样的东西应该会给你带来价值:

      df.collect()[0]['count(DISTINCT AP)']
      

      假设列名是'count(DISTINCT AP)'

      【讨论】:

        【解决方案3】:

        如果要提取特定行和列中的值:
        df.select('column name').collect()[row number][0]
        例如df.select('eye color').collect()[20][0]

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-29
          • 2020-11-08
          • 1970-01-01
          • 2021-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多