pandas数据处理基础之筛选指定行或者指定列的数据


Posted in Python onMay 03, 2018

pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构)。

本文为了方便理解会与excel或者sql操作行或列来进行联想类比

1.重新索引:reindex和ix

上一篇中介绍过数据读取后默认的行索引是0,1,2,3...这样的顺序号。列索引相当于字段名(即第一行数据),这里重新索引意思就是可以将默认的索引重新修改成自己想要的样子。

1.1 Series

比方说:data=Series([4,5,6],index=['a','b','c']),行索引为a,b,c。

我们用data.reindex(['a','c','d','e'])修改索引后则输出:

pandas数据处理基础之筛选指定行或者指定列的数据

可以理解成我们用reindex设了索引后,根据索引去原来data里面匹配对应的值,没匹配上的就是NaN。

1.2 DataFrame

(1)行索引修改:DataFrame行索引同Series

(2)列索引修改:列索引用reindex(columns=['m1','m2','m3']),用参数columns来指定对列索引进行修改。修改逻辑类似行索引,也是相当于用新列索引去匹配原来的数据,没匹配上的置NaN

例:

pandas数据处理基础之筛选指定行或者指定列的数据

(3)同时对行和列索引进行修改可以用

pandas数据处理基础之筛选指定行或者指定列的数据

2.丢弃指定轴上的列(通俗的说法就是删除行或者列):drop

通过索引进行选择删除哪一行或者哪一列

data.drop(['a','c']) 相当于delete table a where xid='a' or xid='c'

data.drop('m1',axis=1)相当于delete table a where yid='m1'

3.选取和过滤(通俗的说就是sql中按照条件筛选查询)

python中因为有行列索引,在做数据的筛选会比较方便

3.1 Series

(1)按照行索引进行选择如

pandas数据处理基础之筛选指定行或者指定列的数据

obj['b']相当于select * from tb where xid='b'obj['b','a','c']相当于select * from tb where xid in ('a','b','c'),且结果按照b ,a ,c 的顺序排列后进行展示,这是与sql的区别obj[0:1]和obj['a':'b']的区别如下:

#前者是不包含末端,后者是包含了末端

pandas数据处理基础之筛选指定行或者指定列的数据

(2)按照值的大小进行筛选obj[obj>-0.6]相当于在obj数据中找出值比-0.6大的记录进行展示

pandas数据处理基础之筛选指定行或者指定列的数据

3.2 DataFrame

(1)选择单行用ix或者xs:

如筛选索引为b的那条行记录用以下三种方式

pandas数据处理基础之筛选指定行或者指定列的数据

(2)选择多行:

筛选索引为a,b的两条行记录的方式

pandas数据处理基础之筛选指定行或者指定列的数据

#以上不能直接写成data[['a','b']]

data[0:2]表示从第一行到第二行的记录。第一行默认从0开始数,不包含末端的2。

(3)选择单列

筛选m1列的所有行记录数据

pandas数据处理基础之筛选指定行或者指定列的数据

(4)选择多列

筛选m1,m3两个列,所有行记录的数据

pandas数据处理基础之筛选指定行或者指定列的数据

ix[:,['m1','m2']]前面的:表示所有的行都筛选进来。

(5)根据值的大小条件筛选行或者列

如筛选出某一列值大于4的所有记录相当于select * from tb where 列名>4

pandas数据处理基础之筛选指定行或者指定列的数据

(6)如果筛选某列值大于4的所有记录,且只需展示部分列的情况时

pandas数据处理基础之筛选指定行或者指定列的数据

行用条件进行筛选,列用[0,2]筛选第一列和第三列的数据

总结

以上所述是小编给大家介绍的pandas数据处理基础之筛选指定行或者指定列的数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
跟老齐学Python之再深点,更懂list
Sep 20 Python
python解析xml文件实例分析
May 27 Python
Python 使用with上下文实现计时功能
Mar 09 Python
python实现简单淘宝秒杀功能
May 03 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
对pyqt5多线程正确的开启姿势详解
Jun 14 Python
Python 实现自动导入缺失的库
Oct 29 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
通过python 执行 nohup 不生效的解决
Apr 16 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 #Python
Python 解决中文写入Excel时抛异常的问题
May 03 #Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 #Python
python更改已存在excel文件的方法
May 03 #Python
python写入已存在的excel数据实例
May 03 #Python
Python实现输出某区间范围内全部素数的方法
May 02 #Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 #Python
You might like
php自动注册登录验证机制实现代码
2011/12/20 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
获取URL文件名后缀
2013/10/24 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
python读取注册表中值的方法
2013/04/08 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
python常用知识梳理(必看篇)
2017/03/23 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
大学生就业自荐信
2013/10/26 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
交通处罚决定书
2015/06/24 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python