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中的类学习笔记
Sep 23 Python
八大排序算法的Python实现
Jan 28 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
新手常见6种的python报错及解决方法
Mar 09 Python
Python爬虫之pandas基本安装与使用方法示例
Aug 08 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
详解Python文件修改的两种方式
Aug 22 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
Python判断三段线能否构成三角形的代码
Apr 12 Python
聊聊python中的异常嵌套
Sep 01 Python
总结Python常用的魔法方法
May 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
操作Oracle的php类
2006/10/09 PHP
简单易用的计数器(数据库)
2006/10/09 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
newxtree.js代码
2007/03/13 Javascript
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
儿童编程python入门
2018/05/08 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
人事部经理岗位职责
2014/03/07 职场文书
年终晚会主持词
2014/03/25 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
市级三好学生评语
2014/12/29 职场文书
降价通知函
2015/04/23 职场文书
python - timeit 时间模块
2021/04/06 Python