获取 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 中的特定单元格设置值

将函数应用于 DataFrame 中的每个单元格

在 Spark DataFrame 中计算大于 0 的值的更快方法?

从 Tap Gesture 中获取特定的集合视图单元格

使用 Python pyqt4 获取 QTableWidget 中特定行和列的单元格突出显示