我需要隐藏相对于另一个数据框/表的几列,其中包含需要隐藏的列的列表。
df
+------+----------+-------+---+---+------+----+----+----+
|Gender| Mobilenum|address|age| id|id_row|name|role|unit|
+------+----------+-------+---+---+------+----+----+----+
| M| 96226126| SDF-03| 24|101| 1| ash| SSE| DNA|
| M| 961267126| DSR-09| 24|102| 2|sony| TA| DNA|
| M| 96226126| DDD-09| 24|103| 3|zoro| PM| DNA|
| M|3962267126| DFG-07| 24|104| 4| max| SM| DNA|
| M| 902267126| ASC-09| 24|105| 5| ben| VPM| DNA|
+------+----------+-------+---+---+------+----+----+----+
df_col
+---------+
| 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|
+---+----+----+----+
关于python - 如何隐藏/排除相对于另一个表的数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48556872/