Pyspark:选择除特定列之外的所有列

5m1hhzi4  于 12个月前  发布在  Spark
关注(0)|答案(4)|浏览(109)

我在PySpark框架中有大量的列,比如200个。我想选择所有的列,除了说3-4列。如何选择这些列,而不必手动键入要选择的所有列的名称?

iecba09b

iecba09b1#

最后,我决定采取以下措施:

  • 跌落:

df.drop('column_1', 'column_2', 'column_3')

  • 选择:

df.select([c for c in df.columns if c not in {'column_1', 'column_2', 'column_3'}])

0mkxixxg

0mkxixxg2#

这可能会有帮助

df_cols = list(set(df.columns) - {'<col1>','<col2>',....})

df.select(df_cols).show()
sigwle7e

sigwle7e3#

df.drop(*[cols for cols in [list of columns to drop]])

如果要删除列的列表很大,则很有用。或者该列表是否可以编程方式导出。

8i9zcol2

8i9zcol24#

PySpark SQL:SELECT * except(col6,col7,col8)

相关问题