我在PySpark框架中有大量的列,比如200个。我想选择所有的列,除了说3-4列。如何选择这些列,而不必手动键入要选择的所有列的名称?
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'}])
0mkxixxg2#
df_cols = list(set(df.columns) - {'<col1>','<col2>',....}) df.select(df_cols).show()
sigwle7e3#
df.drop(*[cols for cols in [list of columns to drop]])
如果要删除列的列表很大,则很有用。或者该列表是否可以编程方式导出。
8i9zcol24#
PySpark SQL:SELECT * except(col6,col7,col8)
4条答案
按热度按时间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'}])
0mkxixxg2#
这可能会有帮助
sigwle7e3#
如果要删除列的列表很大,则很有用。或者该列表是否可以编程方式导出。
8i9zcol24#
PySpark SQL:SELECT * except(col6,col7,col8)