使用DataFrame删除行和列的实例讲解
作者:Clarmy 发布时间:2021-03-05 21:06:04
标签:DataFrame,删除,行,列
本文通过一个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 np
import pandas as pd
odata = pd.read_csv('example.csv')
odata
Out[1]:
date spring summer autumn winter
0 2000 12.2338809 16.9073011333 15.6923831333 14.0859622333
1 2001 12.8474805667 16.7504687333 14.5140663667 13.5037456
2 2002 13.558175 17.2033926 15.6999475 13.2336524667
3 2003 12.6547247 16.8949153333 15.6614647 12.8434786667
4 2004 13.2537298 17.0469665667 15.2090537667 14.3647912
5 2005 13.4443049 16.7459822 16.6221879667 11.6108225667
6 2006 13.5056956667 16.8335785667 15.4979282 12.1993436333
7 2007 13.4885262333 16.6677328333 15.8170143667 13.7438216
8 2008 13.1515319 16.4865069333 15.7295728667 12.9323358667
9 2009 13.4577154333 16.6392378333 18.2601799667 12.6531594333
10 2010 13.1945485 16.7286889 15.4263526667 13.8833583
11 2011 14.3477941667 16.6894210333 14.1765804333 12.3665419667
12 2012 13.6050867 17.1305677333 14.7179677667 13.2925524333
13 2013 13.0279078667 17.3861934333 16.2034549667 13.1861213333
14 2014 12.7466816333 16.5442868667 14.7367682 12.8706512467
15 2015 13.465904 16.5061231667 12.4424366333 11.0181384
16 season spring summer autumn winter
17 slope 0.037969137402 -0.0116468916667 -0.0791384411275 -0.0776527455294
.drop()方法如果不设置参数inplace=True,则只能在生成的新数据块中实现删除效果,而不能删除原有数据块的相应行。
In [2]:
data = odata.drop([16,17])
odata
Out[2]:
date spring summer autumn winter
0 2000 12.2338809 16.9073011333 15.6923831333 14.0859622333
1 2001 12.8474805667 16.7504687333 14.5140663667 13.5037456
2 2002 13.558175 17.2033926 15.6999475 13.2336524667
3 2003 12.6547247 16.8949153333 15.6614647 12.8434786667
4 2004 13.2537298 17.0469665667 15.2090537667 14.3647912
5 2005 13.4443049 16.7459822 16.6221879667 11.6108225667
6 2006 13.5056956667 16.8335785667 15.4979282 12.1993436333
7 2007 13.4885262333 16.6677328333 15.8170143667 13.7438216
8 2008 13.1515319 16.4865069333 15.7295728667 12.9323358667
9 2009 13.4577154333 16.6392378333 18.2601799667 12.6531594333
10 2010 13.1945485 16.7286889 15.4263526667 13.8833583
11 2011 14.3477941667 16.6894210333 14.1765804333 12.3665419667
12 2012 13.6050867 17.1305677333 14.7179677667 13.2925524333
13 2013 13.0279078667 17.3861934333 16.2034549667 13.1861213333
14 2014 12.7466816333 16.5442868667 14.7367682 12.8706512467
15 2015 13.465904 16.5061231667 12.4424366333 11.0181384
16 season spring summer autumn winter
17 slope 0.037969137402 -0.0116468916667 -0.0791384411275 -0.0776527455294
In [3]:
data
Out[3]:
date spring summer autumn winter
0 2000 12.2338809 16.9073011333 15.6923831333 14.0859622333
1 2001 12.8474805667 16.7504687333 14.5140663667 13.5037456
2 2002 13.558175 17.2033926 15.6999475 13.2336524667
3 2003 12.6547247 16.8949153333 15.6614647 12.8434786667
4 2004 13.2537298 17.0469665667 15.2090537667 14.3647912
5 2005 13.4443049 16.7459822 16.6221879667 11.6108225667
6 2006 13.5056956667 16.8335785667 15.4979282 12.1993436333
7 2007 13.4885262333 16.6677328333 15.8170143667 13.7438216
8 2008 13.1515319 16.4865069333 15.7295728667 12.9323358667
9 2009 13.4577154333 16.6392378333 18.2601799667 12.6531594333
10 2010 13.1945485 16.7286889 15.4263526667 13.8833583
11 2011 14.3477941667 16.6894210333 14.1765804333 12.3665419667
12 2012 13.6050867 17.1305677333 14.7179677667 13.2925524333
13 2013 13.0279078667 17.3861934333 16.2034549667 13.1861213333
14 2014 12.7466816333 16.5442868667 14.7367682 12.8706512467
15 2015 13.465904 16.5061231667 12.4424366333 11.0181384
如果inplace=True则原有数据块的相应行被删除
In [4]:
odata.drop(odata.index[[16,17]],inplace=True)
odata
Out[4]:
date spring summer autumn winter
0 2000 12.2338809 16.9073011333 15.6923831333 14.0859622333
1 2001 12.8474805667 16.7504687333 14.5140663667 13.5037456
2 2002 13.558175 17.2033926 15.6999475 13.2336524667
3 2003 12.6547247 16.8949153333 15.6614647 12.8434786667
4 2004 13.2537298 17.0469665667 15.2090537667 14.3647912
5 2005 13.4443049 16.7459822 16.6221879667 11.6108225667
6 2006 13.5056956667 16.8335785667 15.4979282 12.1993436333
7 2007 13.4885262333 16.6677328333 15.8170143667 13.7438216
8 2008 13.1515319 16.4865069333 15.7295728667 12.9323358667
9 2009 13.4577154333 16.6392378333 18.2601799667 12.6531594333
10 2010 13.1945485 16.7286889 15.4263526667 13.8833583
11 2011 14.3477941667 16.6894210333 14.1765804333 12.3665419667
12 2012 13.6050867 17.1305677333 14.7179677667 13.2925524333
13 2013 13.0279078667 17.3861934333 16.2034549667 13.1861213333
14 2014 12.7466816333 16.5442868667 14.7367682 12.8706512467
15 2015 13.465904 16.5061231667 12.4424366333 11.0181384
删除列
del方法
In [5]:
del odata['date']
odata
Out[5]:
spring summer autumn winter
0 12.2338809 16.9073011333 15.6923831333 14.0859622333
1 12.8474805667 16.7504687333 14.5140663667 13.5037456
2 13.558175 17.2033926 15.6999475 13.2336524667
3 12.6547247 16.8949153333 15.6614647 12.8434786667
4 13.2537298 17.0469665667 15.2090537667 14.3647912
5 13.4443049 16.7459822 16.6221879667 11.6108225667
6 13.5056956667 16.8335785667 15.4979282 12.1993436333
7 13.4885262333 16.6677328333 15.8170143667 13.7438216
8 13.1515319 16.4865069333 15.7295728667 12.9323358667
9 13.4577154333 16.6392378333 18.2601799667 12.6531594333
10 13.1945485 16.7286889 15.4263526667 13.8833583
11 14.3477941667 16.6894210333 14.1765804333 12.3665419667
12 13.6050867 17.1305677333 14.7179677667 13.2925524333
13 13.0279078667 17.3861934333 16.2034549667 13.1861213333
14 12.7466816333 16.5442868667 14.7367682 12.8706512467
15 13.465904 16.5061231667 12.4424366333 11.0181384
.pop()方法
.pop方法可以将所选列从原数据块中弹出,原数据块不再保留该列
In [6]:
spring = odata.pop('spring')
spring
Out[6]:
0 12.2338809
1 12.8474805667
2 13.558175
3 12.6547247
4 13.2537298
5 13.4443049
6 13.5056956667
7 13.4885262333
8 13.1515319
9 13.4577154333
10 13.1945485
11 14.3477941667
12 13.6050867
13 13.0279078667
14 12.7466816333
15 13.465904
Name: spring, dtype: object
In [7]:
odata
Out[7]:
summer autumn winter
0 16.9073011333 15.6923831333 14.0859622333
1 16.7504687333 14.5140663667 13.5037456
2 17.2033926 15.6999475 13.2336524667
3 16.8949153333 15.6614647 12.8434786667
4 17.0469665667 15.2090537667 14.3647912
5 16.7459822 16.6221879667 11.6108225667
6 16.8335785667 15.4979282 12.1993436333
7 16.6677328333 15.8170143667 13.7438216
8 16.4865069333 15.7295728667 12.9323358667
9 16.6392378333 18.2601799667 12.6531594333
10 16.7286889 15.4263526667 13.8833583
11 16.6894210333 14.1765804333 12.3665419667
12 17.1305677333 14.7179677667 13.2925524333
13 17.3861934333 16.2034549667 13.1861213333
14 16.5442868667 14.7367682 12.8706512467
15 16.5061231667 12.4424366333 11.0181384
.drop()方法
drop方法既可以保留原数据块中的所选列,也可以删除,这取决于参数inplace
In [8]:
withoutSummer = odata.drop(['summer'],axis=1)
withoutSummer
Out[8]:
autumn winter
0 15.6923831333 14.0859622333
1 14.5140663667 13.5037456
2 15.6999475 13.2336524667
3 15.6614647 12.8434786667
4 15.2090537667 14.3647912
5 16.6221879667 11.6108225667
6 15.4979282 12.1993436333
7 15.8170143667 13.7438216
8 15.7295728667 12.9323358667
9 18.2601799667 12.6531594333
10 15.4263526667 13.8833583
11 14.1765804333 12.3665419667
12 14.7179677667 13.2925524333
13 16.2034549667 13.1861213333
14 14.7367682 12.8706512467
15 12.4424366333 11.0181384
In [9]:
odata
Out[9]:
summer autumn winter
0 16.9073011333 15.6923831333 14.0859622333
1 16.7504687333 14.5140663667 13.5037456
2 17.2033926 15.6999475 13.2336524667
3 16.8949153333 15.6614647 12.8434786667
4 17.0469665667 15.2090537667 14.3647912
5 16.7459822 16.6221879667 11.6108225667
6 16.8335785667 15.4979282 12.1993436333
7 16.6677328333 15.8170143667 13.7438216
8 16.4865069333 15.7295728667 12.9323358667
9 16.6392378333 18.2601799667 12.6531594333
10 16.7286889 15.4263526667 13.8833583
11 16.6894210333 14.1765804333 12.3665419667
12 17.1305677333 14.7179677667 13.2925524333
13 17.3861934333 16.2034549667 13.1861213333
14 16.5442868667 14.7367682 12.8706512467
15 16.5061231667 12.4424366333 11.0181384
当inplace=True时.drop()执行内部删除,不返回任何值,原数据发生改变
In [10]:
withoutWinter = odata.drop(['winter'],axis=1,inplace=True)
type(withoutWinter)
Out[10]:
NoneType
In [11]:
odata
Out[11]:
summer autumne
0 16.9073011333 15.6923831333
1 16.7504687333 14.5140663667
2 17.2033926 15.6999475
3 16.8949153333 15.6614647
4 17.0469665667 15.2090537667
5 16.7459822 16.6221879667
6 16.8335785667 15.4979282
7 16.6677328333 15.8170143667
8 16.4865069333 15.7295728667
9 16.6392378333 18.2601799667
10 16.7286889 15.4263526667
11 16.6894210333 14.1765804333
12 17.1305677333 14.7179677667
13 17.3861934333 16.2034549667
14 16.5442868667 14.7367682
15 16.5061231667 12.4424366333
总结,不论是行删除还是列删除,也不论是原数据删除,还是输出新变量删除,.drop()的方法都能达到目的,为了方便好记,熟练操作,所以应该尽量多使用.drop()方法
来源:https://www.jianshu.com/p/67e67c7034f6


猜你喜欢
- IE 的 Cookie 文件保存在 ?:\Documents and Settings\<user>\Cookies 目录,后缀
- 发现问题最近由于卸载Mysql时将很多相关依赖包都卸载了,重装mysql后启动django出现如下错误:django.core.except
- 网页链接:https://www.huya.com/g/4079 这里的主要步骤其实还是和我们之前分析的一样,如下图所示:这里再简单带大家看
- 前言MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的
- 在上一篇文章里已经写过如何安装python和在eclipse中配置python插件,这篇就不多说了,开始入门。1.先新建一个python工程
- goland如果当前project用了版本控制器,其下面新建的所有的项目默认都是加入到版本控制里面,所以项目名称和文件都是红色的。解决办法:
- 如下所示://动态删除select中的所有options: function delAllOptions(){&nb
- 前言日常开发中,我们使用mysql来实现分页功能的时候,总是会用到mysql的limit语法.而怎么使用却很有讲究的,今天来总结一下.lim
- 完整项目地址下载:https://github.com/rainbow-tan/rainbow/tree/master/%E8%A3%81%
- 代码如下:<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array
- JS获取多选框checkbox被选中的个数。var checkbox = document.getElementsByName("
- 背景:加入现在有这样的数据,可能一条ocr代表两个label,并且label通过","分隔。我们想把数据转换成下面的。原
- 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们对世界的了解可以迅速地发现这些歧义。举一
- 安装Scrapy的安装很简单,官方文档也有详细的说明 http://scrapy-chs.readthedocs.io/zh_CN/0.24
- Python是一门简单而文字简约的语言。阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语。Python的这种伪代码特性是其最大
- 近期因为开发一个新的H5+backbone 项目,验证输入手机号 验证码倒计时功能。#如上图所示 要实现验证码的倒计时的效果首先做页面的布局
- 网站发布到IIS后,发现网站使用的Bootstrap框架所引用的woff字体无法正常显示。于是跟踪http请求,发现woff字体请求出现GE
- python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,th
- 基本介绍pandas是Python数据挖掘、数据分析中常用的库。而DataFrame生成excel中的sheet表,以及在excel中增加s
- 本文实例为大家分享了python pygame实现五子棋双人联机的具体代码,供大家参考,具体内容如下同一局域网内,服务端开启时,另一机器将I