pandas - Spark DataFrame是否等效于Pandas Dataframe `.iloc()`方法?

标签 pandas scala apache-spark dataframe apache-spark-sql

有没有一种方法可以使用整数来按位置引用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/

相关文章:

apache-spark - 坚持后看不到 Spark RDD

python - Pandas - 如何提取每行中包含的标题?

python - 填充缺失数据并与主集合并

scala - 处理Scala : Future For Comprehension时出错

java - S3 存储桶连接失败 (HTTP/1.1 504 GATEWAY_TIMEOUT)

java - 为什么 Impala 不能在 Spark SQL 写入后读取 parquet 文件?

python - Pandas 数据框中的随机行选择

python - Pandas - 基于其他两列的移位值的条件计算

image - 提升图像上传,调整大小,存储在数据库中,显示

python - 如何在 PySpark 中使用 UnaryTransformer?