有没有一种方法可以使用整数来按位置引用Spark DataFrame列?

类似的 Pandas DataFrame操作:

df.iloc[:0] # Give me all the rows at column position 0

最佳答案

并非如此,但是您可以尝试执行以下操作:

Python :

df = sc.parallelize([(1, "foo", 2.0)]).toDF()
df.select(*df.columns[:1])  # I assume [:1] is what you really want
## DataFrame[_1: bigint]

或者
df.select(df.columns[1:3])
## DataFrame[_2: string, _3: double]

Scala
val df = sc.parallelize(Seq((1, "foo", 2.0))).toDF()
df.select(df.columns.slice(0, 1).map(col(_)): _*)

注意:

Spark SQL不支持,并且不太可能永远支持行索引,因此不可能跨行维度建立索引。

关于pandas - Spark DataFrame是否等效于Pandas Dataframe `.iloc()`方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37487170/

10-16 21:29