侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

使用DataFrame删除行和列的实例讲解

技术  /  管理员 发布于 7年前   319

本文通过一个csv实例文件来展示如何删除Pandas.DataFrame的行和列

数据文件名为:example.csv

内容为:

date spring summer autumn winter
2000 12.2338809 16.90730113 15.69238313 14.08596223
2001 12.84748057 16.75046873 14.51406637 13.5037456
2002 13.558175 17.2033926 15.6999475 13.23365247
2003 12.6547247 16.89491533 15.6614647 12.84347867
2004 13.2537298 17.04696657 15.20905377 14.3647912
2005 13.4443049 16.7459822 16.62218797 11.61082257
2006 13.50569567 16.83357857 15.4979282 12.19934363
2007 13.48852623 16.66773283 15.81701437 13.7438216
2008 13.1515319 16.48650693 15.72957287 12.93233587
2009 13.45771543 16.63923783 18.26017997 12.65315943
2010 13.1945485 16.7286889 15.42635267 13.8833583
2011 14.34779417 16.68942103 14.17658043 12.36654197
2012 13.6050867 17.13056773 14.71796777 13.29255243
2013 13.02790787 17.38619343 16.20345497 13.18612133
2014 12.74668163 16.54428687 14.7367682 12.87065125
2015 13.465904 16.50612317 12.44243663 11.0181384
season spring summer autumn winter
slope 0.0379691374 -0.01164689167 -0.07913844113 -0.07765274553

删除行

In [1]:import numpy as npimport pandas as pdodata = pd.read_csv('example.csv')odataOut[1]:date  spring  summer  autumn  winter0  2000  12.2338809  16.9073011333  15.6923831333  14.08596223331  2001  12.8474805667  16.7504687333  14.5140663667  13.50374562  2002  13.558175  17.2033926  15.6999475  13.23365246673  2003  12.6547247  16.8949153333  15.6614647  12.84347866674  2004  13.2537298  17.0469665667  15.2090537667  14.36479125  2005  13.4443049  16.7459822  16.6221879667  11.61082256676  2006  13.5056956667  16.8335785667  15.4979282  12.19934363337  2007  13.4885262333  16.6677328333  15.8170143667  13.74382168  2008  13.1515319  16.4865069333  15.7295728667  12.93233586679  2009  13.4577154333  16.6392378333  18.2601799667  12.653159433310  2010  13.1945485  16.7286889  15.4263526667  13.883358311  2011  14.3477941667  16.6894210333  14.1765804333  12.366541966712  2012  13.6050867  17.1305677333  14.7179677667  13.292552433313  2013  13.0279078667  17.3861934333  16.2034549667  13.186121333314  2014  12.7466816333  16.5442868667  14.7367682  12.870651246715  2015  13.465904  16.5061231667  12.4424366333  11.018138416  season  spring  summer  autumn  winter17  slope  0.037969137402  -0.0116468916667  -0.0791384411275  -0.0776527455294

.drop()方法如果不设置参数inplace=True,则只能在生成的新数据块中实现删除效果,而不能删除原有数据块的相应行。

In [2]:data = odata.drop([16,17])odataOut[2]:date  spring  summer  autumn  winter0  2000  12.2338809  16.9073011333  15.6923831333  14.08596223331  2001  12.8474805667  16.7504687333  14.5140663667  13.50374562  2002  13.558175  17.2033926  15.6999475  13.23365246673  2003  12.6547247  16.8949153333  15.6614647  12.84347866674  2004  13.2537298  17.0469665667  15.2090537667  14.36479125  2005  13.4443049  16.7459822  16.6221879667  11.61082256676  2006  13.5056956667  16.8335785667  15.4979282  12.19934363337  2007  13.4885262333  16.6677328333  15.8170143667  13.74382168  2008  13.1515319  16.4865069333  15.7295728667  12.93233586679  2009  13.4577154333  16.6392378333  18.2601799667  12.653159433310  2010  13.1945485  16.7286889  15.4263526667  13.883358311  2011  14.3477941667  16.6894210333  14.1765804333  12.366541966712  2012  13.6050867  17.1305677333  14.7179677667  13.292552433313  2013  13.0279078667  17.3861934333  16.2034549667  13.186121333314  2014  12.7466816333  16.5442868667  14.7367682  12.870651246715  2015  13.465904  16.5061231667  12.4424366333  11.018138416  season  spring  summer  autumn  winter17  slope  0.037969137402  -0.0116468916667  -0.0791384411275  -0.0776527455294In [3]:dataOut[3]:date  spring  summer  autumn  winter0  2000  12.2338809  16.9073011333  15.6923831333  14.08596223331  2001  12.8474805667  16.7504687333  14.5140663667  13.50374562  2002  13.558175  17.2033926  15.6999475  13.23365246673  2003  12.6547247  16.8949153333  15.6614647  12.84347866674  2004  13.2537298  17.0469665667  15.2090537667  14.36479125  2005  13.4443049  16.7459822  16.6221879667  11.61082256676  2006  13.5056956667  16.8335785667  15.4979282  12.19934363337  2007  13.4885262333  16.6677328333  15.8170143667  13.74382168  2008  13.1515319  16.4865069333  15.7295728667  12.93233586679  2009  13.4577154333  16.6392378333  18.2601799667  12.653159433310  2010  13.1945485  16.7286889  15.4263526667  13.883358311  2011  14.3477941667  16.6894210333  14.1765804333  12.366541966712  2012  13.6050867  17.1305677333  14.7179677667  13.292552433313  2013  13.0279078667  17.3861934333  16.2034549667  13.186121333314  2014  12.7466816333  16.5442868667  14.7367682  12.870651246715  2015  13.465904  16.5061231667  12.4424366333  11.0181384

如果inplace=True则原有数据块的相应行被删除

In [4]:odata.drop(odata.index[[16,17]],inplace=True)odataOut[4]:date  spring  summer  autumn  winter0  2000  12.2338809  16.9073011333  15.6923831333  14.08596223331  2001  12.8474805667  16.7504687333  14.5140663667  13.50374562  2002  13.558175  17.2033926  15.6999475  13.23365246673  2003  12.6547247  16.8949153333  15.6614647  12.84347866674  2004  13.2537298  17.0469665667  15.2090537667  14.36479125  2005  13.4443049  16.7459822  16.6221879667  11.61082256676  2006  13.5056956667  16.8335785667  15.4979282  12.19934363337  2007  13.4885262333  16.6677328333  15.8170143667  13.74382168  2008  13.1515319  16.4865069333  15.7295728667  12.93233586679  2009  13.4577154333  16.6392378333  18.2601799667  12.653159433310  2010  13.1945485  16.7286889  15.4263526667  13.883358311  2011  14.3477941667  16.6894210333  14.1765804333  12.366541966712  2012  13.6050867  17.1305677333  14.7179677667  13.292552433313  2013  13.0279078667  17.3861934333  16.2034549667  13.186121333314  2014  12.7466816333  16.5442868667  14.7367682  12.870651246715  2015  13.465904  16.5061231667  12.4424366333  11.0181384

删除列

del方法

In [5]:del odata['date']odataOut[5]:spring  summer  autumn  winter0  12.2338809  16.9073011333  15.6923831333  14.08596223331  12.8474805667  16.7504687333  14.5140663667  13.50374562  13.558175  17.2033926  15.6999475  13.23365246673  12.6547247  16.8949153333  15.6614647  12.84347866674  13.2537298  17.0469665667  15.2090537667  14.36479125  13.4443049  16.7459822  16.6221879667  11.61082256676  13.5056956667  16.8335785667  15.4979282  12.19934363337  13.4885262333  16.6677328333  15.8170143667  13.74382168  13.1515319  16.4865069333  15.7295728667  12.93233586679  13.4577154333  16.6392378333  18.2601799667  12.653159433310  13.1945485  16.7286889  15.4263526667  13.883358311  14.3477941667  16.6894210333  14.1765804333  12.366541966712  13.6050867  17.1305677333  14.7179677667  13.292552433313  13.0279078667  17.3861934333  16.2034549667  13.186121333314  12.7466816333  16.5442868667  14.7367682  12.870651246715  13.465904  16.5061231667  12.4424366333  11.0181384

.pop()方法

.pop方法可以将所选列从原数据块中弹出,原数据块不再保留该列

In [6]:spring = odata.pop('spring')springOut[6]:0    12.23388091   12.84748056672     13.5581753    12.65472474    13.25372985    13.44430496   13.50569566677   13.48852623338    13.15153199   13.457715433310    13.194548511  14.347794166712    13.605086713  13.027907866714  12.746681633315    13.465904Name: spring, dtype: objectIn [7]:odataOut[7]:summer  autumn  winter0  16.9073011333  15.6923831333  14.08596223331  16.7504687333  14.5140663667  13.50374562  17.2033926  15.6999475  13.23365246673  16.8949153333  15.6614647  12.84347866674  17.0469665667  15.2090537667  14.36479125  16.7459822  16.6221879667  11.61082256676  16.8335785667  15.4979282  12.19934363337  16.6677328333  15.8170143667  13.74382168  16.4865069333  15.7295728667  12.93233586679  16.6392378333  18.2601799667  12.653159433310  16.7286889  15.4263526667  13.883358311  16.6894210333  14.1765804333  12.366541966712  17.1305677333  14.7179677667  13.292552433313  17.3861934333  16.2034549667  13.186121333314  16.5442868667  14.7367682  12.870651246715  16.5061231667  12.4424366333  11.0181384

.drop()方法

drop方法既可以保留原数据块中的所选列,也可以删除,这取决于参数inplace

In [8]:withoutSummer = odata.drop(['summer'],axis=1)withoutSummerOut[8]:autumn  winter0  15.6923831333  14.08596223331  14.5140663667  13.50374562  15.6999475  13.23365246673  15.6614647  12.84347866674  15.2090537667  14.36479125  16.6221879667  11.61082256676  15.4979282  12.19934363337  15.8170143667  13.74382168  15.7295728667  12.93233586679  18.2601799667  12.653159433310  15.4263526667  13.883358311  14.1765804333  12.366541966712  14.7179677667  13.292552433313  16.2034549667  13.186121333314  14.7367682  12.870651246715  12.4424366333  11.0181384In [9]:odataOut[9]:summer  autumn  winter0  16.9073011333  15.6923831333  14.08596223331  16.7504687333  14.5140663667  13.50374562  17.2033926  15.6999475  13.23365246673  16.8949153333  15.6614647  12.84347866674  17.0469665667  15.2090537667  14.36479125  16.7459822  16.6221879667  11.61082256676  16.8335785667  15.4979282  12.19934363337  16.6677328333  15.8170143667  13.74382168  16.4865069333  15.7295728667  12.93233586679  16.6392378333  18.2601799667  12.653159433310  16.7286889  15.4263526667  13.883358311  16.6894210333  14.1765804333  12.366541966712  17.1305677333  14.7179677667  13.292552433313  17.3861934333  16.2034549667  13.186121333314  16.5442868667  14.7367682  12.870651246715  16.5061231667  12.4424366333  11.0181384

当inplace=True时.drop()执行内部删除,不返回任何值,原数据发生改变

In [10]:withoutWinter = odata.drop(['winter'],axis=1,inplace=True)type(withoutWinter)Out[10]:NoneTypeIn [11]:odataOut[11]:summer  autumne0  16.9073011333  15.69238313331  16.7504687333  14.51406636672  17.2033926  15.69994753  16.8949153333  15.66146474  17.0469665667  15.20905376675  16.7459822  16.62218796676  16.8335785667  15.49792827  16.6677328333  15.81701436678  16.4865069333  15.72957286679  16.6392378333  18.260179966710  16.7286889  15.426352666711  16.6894210333  14.176580433312  17.1305677333  14.717967766713  17.3861934333  16.203454966714  16.5442868667  14.736768215  16.5061231667  12.4424366333

总结,不论是行删除还是列删除,也不论是原数据删除,还是输出新变量删除,.drop()的方法都能达到目的,为了方便好记,熟练操作,所以应该尽量多使用.drop()方法


  • 上一条:
    浅谈pandas中shift和diff函数关系
    下一条:
    将字典转换为DataFrame并进行频次统计的方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客