我想知道如何在数据框中选择具有数字但不包含其名称的特定列?
像熊猫一样:
df = df.iloc[:,2]
可能吗?
答案 0 :(得分:8)
您始终可以使用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|
+---+
答案 1 :(得分:-1)
与mirkhosro相同的解决方案:
对于数据帧df,您可以使用df[n]
选择第n列,其中n是该列的索引。
示例:
df = df.filter(df[3]!=0)
将删除df的行,其中第四列的值为0。
请注意,您可以使用df.printSchema()