首页 > 解决方案 > 在 pyspark 中选择列列表后,其余未选择的列会被隐藏吗?

问题描述

在此处输入图像描述

在上表中,我有 5 列并选择了 2 列并保存为新数据框。当我尝试检索有关新数据帧的信息时,从未选择的列返回结果,而不是将错误作为数据帧中不存在的列。

示例代码:

df1 = df.select('id', 'subject1')
df1.filter('subject2' > 50).show()

上面的数据框没有subject2,但它的返回结果而不是抛出错误。如何从内存中完全删除列列表?

输出数据帧结果:

在此处输入图像描述

标签: pyspark

解决方案


无法重现您的情况。通常,当您选择某些列时 - 只有那些可用于过滤。你应该得到一个类型错误,条件应该是字符串或列。请确保在上面的代码中您没有将 subject2 指定为对象。

也试试:

df1 = df1.drop('subject2', 'subject3', 'subject4')

希望这可以帮助。


推荐阅读