基于DataFrame筛选数据与loc的用法详解


Posted in Python onMay 18, 2018

DataFrame筛选数据与loc用法

python中pandas下的DataFrame是一个很不错的数据结构,附带了许多操作、运算、统计等功能。

如何从一个DataFrame中筛选中出一个元素呢。

以tushare返回的交易日信息为例。

df = ts.trade_cal()

数据如下:

calendarDate isOpen
0  1990/12/19  1
1  1990/12/20  1
2  1990/12/21  1
3  1990/12/22  0
4  1990/12/23  0
5  1990/12/24  1
6  1990/12/25  1
7  1990/12/26  1
8  1990/12/27  1
9  1990/12/28  1
10  1990/12/29  0
11  1990/12/30  0
12  1990/12/31  1
13  1991/1/1  0
14  1991/1/2  1
15  1991/1/3  1
16  1991/1/4  1
17  1991/1/5  0
18  1991/1/6  0
19  1991/1/7  1
20  1991/1/8  1
21  1991/1/9  1
22  1991/1/10  1
23  1991/1/11  1
24  1991/1/12  0
25  1991/1/13  0
26  1991/1/14  1
27  1991/1/15  1
28  1991/1/16  1
29  1991/1/17  1
...   ...  ...
9845 2017/12/02  0
9846 2017/12/03  0
9847 2017/12/04  1
9848 2017/12/05  1
9849 2017/12/06  1
9850 2017/12/07  1
9851 2017/12/08  1
9852 2017/12/09  0
9853 2017/12/10  0
9854 2017/12/11  1
9855 2017/12/12  1
9856 2017/12/13  1
9857 2017/12/14  1
9858 2017/12/15  1
9859 2017/12/16  0
9860 2017/12/17  0
9861 2017/12/18  1
9862 2017/12/19  1
9863 2017/12/20  1
9864 2017/12/21  1
9865 2017/12/22  1
9866 2017/12/23  0
9867 2017/12/24  0
9868 2017/12/25  1
9869 2017/12/26  1
9870 2017/12/27  1
9871 2017/12/28  1
9872 2017/12/29  1
9873 2017/12/30  0
9874 2017/12/31  0

如何取出某个日期的信息呢。例如年底了,想知道除夕前最后一个交易日是哪天。此处使用筛选功能。

df[df.calendarDate=="2017/12/31"]

输出如下:

>>> df[df.calendarDate=="2017/12/31"]
  calendarDate isOpen
9874 2017/12/31  0
>>> df[df.icol(0)=="2017/12/11"]
__main__:1: FutureWarning: icol(i) is deprecated. Please use .iloc[:,i]
  calendarDate isOpen
9854 2017/12/11  1

注意一定要写上双等号一定要写上双等号一定要写上双等号。重要的事情说3遍。。。

因为如果是单等号,会报语法异常的。。。

loc函数

关于loc这个坑爹的函数的用法,咋说呢,不要被他的”纯以标签名来进行索引”迷惑了。因为如果你给Loc中的第一个参数一个str的话,极有可能返回的是一个异常,说不在index中。 。。。。

坑爹。。。。

这个loc的用法不是根据某个位置内容筛选的含义,仍然是对行、对列的一种筛选。比如你某行的索引自己设置标签啥的。。很让人一头雾水的设计。跟ix就是重复的。。。。

大多数情况下的应用场景就是还是用数字取行,用str取列。

比如loc[0:3,[“a”,”b”]]。取0到第3行(左闭右开,非整型值时左闭右闭。。。),”a”列与”b”列。

以上这篇基于DataFrame筛选数据与loc的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python实现strcmp函数功能示例
Mar 25 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
python中的set实现不重复的排序原理
Jan 24 Python
python用match()函数爬数据方法详解
Jul 23 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
Django REST framework 单元测试实例解析
Nov 07 Python
python之array赋值技巧分享
Nov 28 Python
python实现小程序推送页面收录脚本
Apr 20 Python
Python几种常见算法汇总
Jun 02 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
python解析照片拍摄时间进行图片整理
Jul 23 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 #Python
pandas.loc 选取指定列进行操作的实例
May 18 #Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 #Python
解决pycharm无法调用pip安装的包问题
May 18 #Python
解决已经安装requests,却依然提示No module named requests问题
May 18 #Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 #Python
解决Pycharm无法import自己安装的第三方module问题
May 18 #Python
You might like
php中如何防止表单的重复提交
2013/08/02 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Python实现在线程里运行scrapy的方法
2015/04/07 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
django从后台返回html代码的实例
2020/03/11 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
django 模型中的计算字段实例
2020/05/19 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
实习生个人的自我评价
2013/12/08 职场文书
区三好学生主要事迹
2014/01/30 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书