基于DataFrame筛选数据与loc的用法详解
时间:2019-04-15
本文章向大家介绍基于DataFrame筛选数据与loc的用法详解,主要包括基于DataFrame筛选数据与loc的用法详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- TensorFlow:如何通过声音识别追踪蝙蝠
- Python机器学习的练习四:多元逻辑回归
- Python机器学习的练习三:逻辑回归
- 什么?!只用30行代码就能创建一个JavaScript的神经网络?
- ChainerCV: 一个用于深度学习的计算机视觉库
- 以太坊·食品溯源案例
- 以太坊·单机多实例演示
- OpenAI-人工反馈的深度学习
- 以太坊·将数据写入到区块链中
- 如何使用Faster R-CNN来计算对象个数
- hyperledger v1.0.5 区块链运维入门
- 在TensorBoard中使用t-SNE实现TensorFlow自动编码器的可视化嵌入
- 以太坊智能合约开发入门
- CatBoost:一个自动处理分类(CAT)数据的机器学习库
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spark SQL中Not in Subquery为何低效以及如何规避
- 踩坑记 | Flutter升级影响了NestedScrollView?
- 使用 RequireJS 加载 AngularJS
- 通过Spark生成HFile,并以BulkLoad方式将数据导入到HBase
- 使用 C 创建 Windows 服务
- AngularJS 中的 controllerAs
- Android-Jetpack笔记-DataBinding
- Android-Jetpack笔记-Lifecycles
- Android-Jetpack笔记-LiveData
- Android-Jetpack笔记-ViewModelSavedState
- Android-Jetpack笔记-ViewModel
- GitLab CE 安装记录
- SparkSQL中产生笛卡尔积的几种典型场景以及处理策略
- TypeScript 中的 export 和 import
- Angular2 初体验