代码之家  ›  专栏  ›  技术社区  ›  LaSul

在pyspark中获取数据帧中的值

  •  0
  • LaSul  · 技术社区  · 6 年前

    我有下面的数据框,我正在尝试获取值 三千零九十七 作为一个int,例如,将它存储在一个python变量中以操作它,将它乘以另一个int等。

    enter image description here

    我已经设法得到了这一行,但即使是现在,如果这是一个很好的方法,我仍然不能得到int的值。

    data.groupBy("card_bank", "failed").count().filter(data["failed"] == "true").collect()
    

    enter image description here

    3 回复  |  直到 6 年前
        1
  •  1
  •   Ernest S Kirubakaran    6 年前

    使用索引0从Row对象获取第一条记录,并使用索引“Count”获取值

    from pyspark.sql.functions import col
    data.groupby("card_bank", "failed").count().filter(col("failed") == "true").collect()[0]["count"]
    
        2
  •  2
  •   wind    6 年前

    你需要一个 row 从序列(循环或映射函数的WITHER),然后 row.getInt(2) 根据 https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/sql/Row.html .

        3
  •  1
  •   Sreejith    6 年前

    尝试从Spark数据框中选择值:

    df =data.groupBy("card_bank", "failed").count().filter(data["failed"] == "true").collect()
    value = df.select("count").as[int].collect()
    

    这里,值是一个列表。