前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对比Excel,Python pandas删除数据框架中的列

对比Excel,Python pandas删除数据框架中的列

作者头像
fanjy
发布2022-04-13 13:41:36
7.1K0
发布2022-04-13 13:41:36
举报
文章被收录于专栏:完美Excel

标签:Python与Excel,pandas

删除列也是Excel中的常用操作之一,可以通过功能区或者快捷菜单中的命令或者快捷键来实现。上一篇文章,我们讲解了Python pandas删除数据框架中行的一些方法,删除列与之类似。然而,这里想介绍一些新方法。取决于实际情况,正确地使用一种方法可能比另一种更好。

准备数据框架

创建用于演示删除列的数据框架,仍然使用前面给出的“用户.xlsx”中的数据。

图1

.drop()方法

与删除行类似,我们也可以使用.drop()删除列。唯一的区别是,在该方法中,我们需要指定参数axis=1。下面是.drop()方法的一些说明:

  • 要删除单列:传入列名(字符串)。
  • 删除多列:传入要删除的列的名称列表。
  • 如果要覆盖原始数据框架,则要包含参数inplace=True。

图2

del方法

del是Python中的一个关键字,可用于删除对象。我们可以使用它从数据框架中删除列。

注意,当使用del时,对象被删除,因此这意味着原始数据框架也会更新以反映删除情况。

图3

重赋值方法

也就是方括号法,但这不是真正的删除方法,而是重新赋值操作。但是,最终结果与删除相同。

考虑我们原来的数据框架,它有5列,即:

用户姓名、国家、城市、性别、年龄

假设我们要删除国家和年龄列。实际上我们没有删除,而是创建了一个新的数据框架,其中只包含用户姓名、城市和性别,有效地“删除”了其他两列。然后,我们将新创建的数据框架赋值给原始数据框架以完成“删除操作”。注意代码中的双方括号。

df = df[[’城市’,’性别’]]

注:如果是df = df[[‘用户姓名’,’城市’,’性别’]]则出错,什么原因?

使用哪种方法?

三种方法,应该用哪一种?答案总是:视情况而定。下面是我用来决定使用哪种方法的一些技巧。

.drop()

  • 当有许多列,而只需要删除一些列时,效果最佳。在这种情况下,我们只需要列出要删除的列。
  • 但是,如果要覆盖原始数据框架,则需要记住应包含参数inplace=True。

del

  • 当我们只需要删除1或2列时效果最好。这种方法是最简单、最短的代码。
  • 但是,如果需要删除多个列,则需要使用循环,这比.drop()方法更麻烦。

重赋值

  • 当数据框架只有几列时效果最好;或者数据框架有很多列,但我们只保留一些列。
  • 如果我们需要保留许多列,必须键入计划保留的所有列名称,这可能需要大量键入。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档