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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
python中常用检测字符串相关函数汇总
Apr 15 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
python获取微信小程序手机号并绑定遇到的坑
Nov 19 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Python守护进程实现过程详解
Feb 10 Python
pandas分组聚合详解
Apr 10 Python
python 简单的调用有道翻译
Nov 25 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 三维饼图的实现代码
2008/09/28 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
php中序列化与反序列化详解
2017/02/13 PHP
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
Python中的流程控制详解
2021/02/18 Python
领导干部培训感言
2014/01/23 职场文书
学生安全承诺书
2014/05/22 职场文书
经费申请报告
2015/05/15 职场文书
公司车辆管理制度
2015/08/04 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
Tomcat弱口令复现及利用
2022/05/06 Servers