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

yipeiwu_com6年前Python基础

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设计】。

相关文章

利用PyInstaller将python程序.py转为.exe的方法详解

前言 最近经常用到一个.py程序,但是每次在不同电脑上用,希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个exe。PyInstalle满足要求。 PyIns...

Python通过递归获取目录下指定文件代码实例

这篇文章主要介绍了python通过递归获取目录下指定文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 获取一个目录下所有指定...

使用Python的Bottle框架写一个简单的服务接口的示例

是不是有这么一个场景,对外提供一堆数据或者是要返回给用户一个结果。但是不想把内部的一些数据和逻辑暴露给对方。。。简单点来说,就是想以服务的方式对外提供一个接口。对于这种有很多处理方式,R...

利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)

前言 本文主要给大家介绍的关于Python批量压缩png的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 1.需求 为什么会有这个需求?是因为游戏的资源大多是...

opencv实现简单人脸识别

opencv实现简单人脸识别

对于opencv 它提供了许多已经练习好的模型可供使用,我们需要通过他们来进行人脸识别 参考了网上许多资料  假设你已经配好了开发环境 ,在我之前的博客中由开发环境的配置。 项...