Pyspark : select specific column with its position

标签 pyspark apache-spark-sql

我想知道如何在数据框中选择带有编号而不是名称的特定列?

在 Pandas 中是这样的:

df = df.iloc[:,2]

这是可能的 ?

最佳答案

您始终可以使用 df.columns[n] 获取列的名称。然后 select它:

df = spark.createDataFrame([[1,2], [3,4]], ['a', 'b'])

选择位置 n 处的列:
n = 1
df.select(df.columns[n]).show()
+---+                                                                           
|  b|
+---+
|  2|
|  4|
+---+

选择除列之外的所有 n :
n = 1

您可以使用 drop :
df.drop(df.columns[n]).show()
+---+
|  a|
+---+
|  1|
|  3|
+---+

或者选择手动构造的列名:
df.select(df.columns[:n] + df.columns[n+1:]).show()
+---+
|  a|
+---+
|  1|
|  3|
+---+

关于Pyspark : select specific column with its position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50910399/

相关文章:

apache-spark - spark.conf.set ("spark.driver.maxResultSize", '6g' ) 没有更新默认值 - PySpark

python-3.x - pyspark中的内反加入

pyspark - Pyspark 中基于时间的窗口函数

apache-spark - 如何连接两个 DataFrame 并更新缺失值?

apache-spark - 根据 pyspark 中的条件聚合值

apache-spark - 过滤并保存数据帧的前 X 行

apache-spark - 在DataFrame中搜索关键字

apache-spark - 列在 pySpark 中不可迭代

python - 没有模块名称pyspark错误

apache-spark - 如何强制 Spark SQL 进入代码生成模式?