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中操作文件之truncate()方法的使用教程
May 25 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
python 实现登录网页的操作方法
May 11 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
python3.4中清屏的处理方法
Jul 06 Python
python 动态绘制爱心的示例
Sep 27 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
pandas中对文本类型数据的处理小结
Nov 01 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
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
javascript实现轮显新闻标题链接
2007/08/13 Javascript
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python生成式的send()方法(详解)
2017/05/08 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
旅游管理实习自我鉴定
2013/09/29 职场文书
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
python字符串的一些常见实用操作
2022/04/06 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技