Python 如何相对于另一个表隐藏/排除数据框列

Python 如何相对于另一个表隐藏/排除数据框列,python,apache-spark,dataframe,pyspark,Python,Apache Spark,Dataframe,Pyspark,对于另一个包含需要隐藏的列列表的dataframe/表,我需要隐藏一些列 df 德福沟 +---------+ | column| +---------+ | id_row| |Mobilenum| | address| | age| | Gender| +---------+ 这里我需要隐藏df中关于df_col的列 预期产量 +---+----+----+----+ | id|name|role|unit| +---+----+----+----+ |101| as

对于另一个包含需要隐藏的列列表的dataframe/表,我需要隐藏一些列

df

德福沟

+---------+
|   column|
+---------+
|   id_row|
|Mobilenum|
|  address|
|      age|
|   Gender|
+---------+
这里我需要隐藏df中关于df_col的列

预期产量

+---+----+----+----+
| id|name|role|unit|
+---+----+----+----+
|101| ash| SSE| DNA|
|102|sony|  TA| DNA|
|103|zoro|  PM| DNA|
|104| max|  SM| DNA|
|105| ben| VPM| DNA|
+---+----+----+----+
试试下面的代码

c1_L = df_col.rdd.collect()
c1_L1 = [x.column for x in c1_L]
c_L = df.columns
final_df = df.select([x for x in c_L if x not in c1_L1])
final_df.show()
输出将是

+---+----+----+----+
| id|name|role|unit|
+---+----+----+----+
|101| ash| SSE| DNA|
|102|sony|  TA| DNA|
|103|zoro|  PM| DNA|
|104| max|  SM| DNA|
|105| ben| VPM| DNA|
+---+----+----+----+ 

这很有效。你能简要介绍一下c1_L1吗?具体发生了什么当你收集时,它会给你行列表
[row(column='id'u row')、row(column='Mobilenum')、row(column='address')、row(column='age')、row(column='Gender')]
为了让它成为一个合适的列表,我正在调用
x.column
,然后它会给出
['id'u row',Mobilenum',address',age',Gender']
+---+----+----+----+
| id|name|role|unit|
+---+----+----+----+
|101| ash| SSE| DNA|
|102|sony|  TA| DNA|
|103|zoro|  PM| DNA|
|104| max|  SM| DNA|
|105| ben| VPM| DNA|
+---+----+----+----+