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 相关文章推荐
RC4文件加密的python实现方法
Jun 30 Python
Python导入oracle数据的方法
Jul 10 Python
简单谈谈Python流程控制语句
Dec 04 Python
Python中几种导入模块的方式总结
Apr 27 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
浅谈flask中的before_request与after_request
Jan 20 Python
浅谈Django的缓存机制
Aug 23 Python
python实现网站微信登录的示例代码
Sep 18 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
在Python中通过threshold创建mask方式
Feb 19 Python
Django DRF认证组件流程实现原理详解
Aug 17 Python
Pytest中skip和skipif的具体使用方法
Jun 30 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的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
js下弹出窗口的变通
2007/04/18 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
Python 实现向word(docx)中输出
2020/02/13 Python
基于python 凸包问题的解决
2020/04/16 Python
python两种注释用法的示例
2020/10/09 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
英国足球店:UK Soccer Shop
2017/11/19 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
演讲稿开场白
2014/01/13 职场文书
六一儿童节主持词
2014/03/21 职场文书
法人代表委托书
2014/04/04 职场文书
交通事故协议书
2014/04/15 职场文书
学校安全管理责任书
2014/07/23 职场文书
2014年医务科工作总结
2014/12/18 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
逃课检讨书范文
2015/05/06 职场文书
无罪辩护词范文
2015/05/21 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python