【发布时间】:2018-12-24 03:44:27
【问题描述】:
我想删除包含 banned_columns 列表中任何单词的 pyspark 数据框中的列,并从剩余的列中形成一个新的数据框
banned_columns = ["basket","cricket","ball"]
drop_these = [columns_to_drop for columns_to_drop in df.columns if columns_to_drop in banned_columns]
df_new = df.drop(*drop_these)
banned_columns 的想法是删除以basket 和cricket 开头的所有列,以及名称中任何位置包含单词ball 的列。
以上是我到目前为止所做的,但它不起作用(因为在新数据框中仍然包含那些列名称)
数据框示例
sports1basketjump | sports
在上面的列名示例中,它将删除列sports1basketjump,因为它包含单词 basket。
此外,使用filter 或/和reduce 函数是否比创建列表和for 循环增加了优化?
【问题讨论】:
-
df.drop(drop_these,axis=1)
-
@Wen Hi Wen!我认为 pyspark 中不存在该轴?还是?
标签: python apache-spark pyspark