获取 Spark Dataframe 中特定单元格的值
Posted
技术标签:
【中文标题】获取 Spark Dataframe 中特定单元格的值【英文标题】:Get value of a particular cell in Spark Dataframe 【发布时间】:2019-03-02 00:09:29 【问题描述】:我有一个 Spark 数据框,它有 1 行和 3 列,即 start_date、end_date、end_month_id。 我想将第一个单元格中的值检索到一个变量中,并使用该变量过滤另一个数据框。
我想将“2019-01-01”检索到一个变量中。我该怎么做? 这是我目前所拥有的:
start_date = df1[0];
df2.filter(df2.date_reported >= start_date)
我是菜鸟,所以请放轻松
【问题讨论】:
df1 是 spark 数据框还是 python 对象? 【参考方案1】:如果 df1 是 spark 数据帧,则使用 collect() 函数来获得相同的数据。 例如,
df1.collect()[行号][列号][0][0]
【讨论】:
非常感谢!您刚刚给出了我从 1 天开始搜索的答案!这就是我所做的:y=df.collect()[8000] print(y)。但是你知道我们是否可以召回具有特定已知值的行吗?【参考方案2】:试试这个。 take 给你一个行数组,你可以从 Row 对象中提取基于列名的值。
val start_date = df1.take(1)(0).getAs[String]("start_date")
【讨论】:
我可以知道这是什么问题吗?以上是关于获取 Spark Dataframe 中特定单元格的值的主要内容,如果未能解决你的问题,请参考以下文章
如何在迭代时修改 pandas DataFrame 的特定单元格?
使用 iloc 为 pandas DataFrame 中的特定单元格设置值