首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除pyspark dataframe中的列

如何删除pyspark dataframe中的列
EN

Stack Overflow用户
提问于 2015-04-13 16:10:33
回答 7查看 279.7K关注 0票数 123
代码语言:javascript
复制
>>> a
DataFrame[id: bigint, julian_date: string, user_id: bigint]
>>> b
DataFrame[id: bigint, quan_created_money: decimal(10,0), quan_created_cnt: bigint]
>>> a.join(b, a.id==b.id, 'outer')
DataFrame[id: bigint, julian_date: string, user_id: bigint, id: bigint, quan_created_money: decimal(10,0), quan_created_cnt: bigint]

有两个id: bigint,我想删除一个。我该怎么做呢?

EN

回答 7

Stack Overflow用户

发布于 2018-05-23 23:56:22

除了@Patrick的答案之外,您还可以使用以下命令删除多个列

代码语言:javascript
复制
columns_to_drop = ['id', 'id_copy']
df = df.drop(*columns_to_drop)
票数 137
EN

Stack Overflow用户

发布于 2016-03-11 07:26:28

要做到这一点,一种简单的方法是使用"select“,并意识到您可以使用df.columns获取dataframe的所有columns df的列表

代码语言:javascript
复制
drop_list = ['a column', 'another column', ...]

df.select([column for column in df.columns if column not in drop_list])
票数 32
EN

Stack Overflow用户

发布于 2018-08-27 17:35:50

您可以使用两种方式:

1:你只需要保留必要的列:

代码语言:javascript
复制
drop_column_list = ["drop_column"]
df = df.select([column for column in df.columns if column not in drop_column_list])  

他说:这是更优雅的方式。

代码语言:javascript
复制
df = df.drop("col_name")

您应该避免collect()版本,因为它会将完整的数据集发送到主服务器,这将需要大量的计算工作!

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29600673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档