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中asyncore的用法实例
Sep 29 Python
python读写ini配置文件方法实例分析
Jun 30 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
解决python删除文件的权限错误问题
Apr 24 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 Python
set在python里的含义和用法
Jun 24 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
Python实现画图软件功能方法详解
Jul 28 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
python的html标准库
Apr 29 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桌面中心(一) 创建数据库
2007/03/11 PHP
PHP内核探索:变量概述
2014/01/30 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
python网络编程之数据传输UDP实例分析
2015/05/20 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python实现购物程序思路及代码
2017/07/24 Python
Python连接phoenix的方法示例
2017/09/29 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python3安装speech语音模块的方法
2018/12/24 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
Django框架models使用group by详解
2020/03/11 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
Java内存模型之happens-before概念详解
2021/06/13 Java/Android