【发布时间】:2015-12-22 00:42:17
【问题描述】:
我有一个非常大的 pyspark.sql.dataframe.DataFrame,名为 df。 我需要某种枚举记录的方法——因此,能够访问具有特定索引的记录。 (或选择具有索引范围的记录组)
在熊猫中,我可以只做
indexes=[2,3,6,7]
df[indexes]
这里我想要类似的东西,(并且没有将数据框转换为熊猫)
我能到达的最近的是:
-
通过以下方式枚举原始数据框中的所有对象:
indexes=np.arange(df.count()) df_indexed=df.withColumn('index', indexes)- 使用 where() 函数搜索我需要的值。
问题:
- 为什么它不起作用以及如何使它起作用?如何向数据框添加一行?
-
以后可以做类似的东西吗:
indexes=[2,3,6,7] df1.where("index in indexes").collect() 有没有更快更简单的处理方法?
【问题讨论】:
标签: python apache-spark bigdata pyspark rdd