import pandas as pd
import numpy as np dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D']) """
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
""" # todo 简单的筛选 # 如果我们想选取DataFrame中的数据,下面描述了两种途径, 他们都能达到同一个目的: print(df['A'])
print(df.A)#
#和python字典的选取有一点点雷同 """
2013-01-01 0
2013-01-02 4
2013-01-03 8
2013-01-04 12
2013-01-05 16
2013-01-06 20
Freq: D, Name: A, dtype: int64
""" # 让选择跨越多行或多列: 还可以进行切片的操作 print(df[0:3])#如果选择df[3:3]将会是一个空对象 """
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
""" print(df['20130102':'20130104'])#这个返回的是两个标签之间的数据 """
A B C D
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
""" # todo根据标签 loc
'''
同样我们可以使用标签来选择数据 loc, 本例子主要通过标签名字选择某一行数据,
或者通过选择某行或者所有行(:代表所有行)然后选其中某一列或几列数据。:
'''
print(df.loc['20130102'])#loc 相当于locate嘛 定位该标签(该行)的所有数据
#返回的是列号,还有数据 标签名称 数据类型
"""
A 4
B 5
C 6
D 7
Name: 2013-01-02 00:00:00, dtype: int64
""" print(df.loc[:,['A','B']]) # :表示的选择所有行,['A','B']表示只选择AB列
"""
A B
2013-01-01 0 1
2013-01-02 4 5
2013-01-03 8 9
2013-01-04 12 13
2013-01-05 16 17
2013-01-06 20 21
""" print(df.loc['20130102',['A','B']])
"""
A 4
B 5
Name: 2013-01-02 00:00:00, dtype: int64
""" #todo loc(locate)定位也可以进行切片处理 # todo 根据序列 iloc # 另外我们可以采用位置进行选择 iloc, 在这里我们可以通过位置选择在不同情况下所需要的数据例如选某一个,连续选或者跨行选等操作。
#刚才那个loc是根据标签的名字,行名或者列名,这里是根据位置 print(df.iloc[3,1])
# 13 print(df.iloc[3:5,1:3])
"""
B C
2013-01-04 13 14
2013-01-05 17 18
""" print(df.iloc[[1,3,5],1:3])
"""
B C
2013-01-02 5 6
2013-01-04 13 14
2013-01-06 21 22 """ # todo 根据混合的这两种 ix # 当然我们可以采用混合选择 ix, 其中选择’A’和’C’的两列,并选择前三行的数据。 print(df.ix[:3,['A','C']]) #选择前三行a,c列的所有数据
"""
A C
2013-01-01 0 2
2013-01-02 4 6
2013-01-03 8 10
""" # todo 通过判断的筛选 # 最后我们可以采用判断指令 (Boolean indexing) 进行选择. 我们可以约束某项条件然后选择出当前所有数据. print(df[df.A>8])
"""
A B C D
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
"""

dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D']) 创建了一个dataframe

datefram.A == dateframe['A']   

df['20130102':'20130104']选择的是两个标签之间的元素    切片操作

loc(locate)按照标签名称进行定位

iloc按照 元素的位置进行定位

ix 混合选择

df.ix[:3,['a','c']] 选择前三行a,c列的数据

df[df.A>8]     boolean indexing 进行选择,约束某项条件然后选择出当前的数据

df.loc['20130102']

pandas的学习2-选择数据的更多相关文章

  1. Pandas | 13 索引和选择数据

    Pandas现在支持三种类型的多轴索引; 编号 索引 描述 1 .loc() 基于标签 2 .iloc() 基于整数 3 .ix() 基于标签和整数 .loc() Pandas提供了各种方法来完成基于 ...

  2. 【转】Pandas学习笔记(二)选择数据

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  3. pandas 学习 第14篇:索引和选择数据

    数据框和序列结构中都有轴标签,轴标签的信息存储在Index对象中,轴标签的最重要的作用是: 唯一标识数据,用于定位数据 用于数据对齐 获取和设置数据集的子集. 本文重点关注如何对序列(Series)和 ...

  4. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  5. pandas选择数据-【老鱼学pandas】

    选择列 根据列名来选择某列的数据 import pandas as pd import numpy as np dates = pd.date_range("2017-01-08" ...

  6. pandas的学习总结

    pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...

  7. 学习《精通数据科学从线性回归到深度学习》PDF+代码分析

    数据科学内容广泛,涉及到统计分析.机器学习以及计算机科学三方面的知识和技能.学习数据科学,推荐学习<精通数据科学从线性回归到深度学习>. 针对技术书籍,最好的阅读方法是对照每一章的示例代码 ...

  8. ASP.NET MVC 5 学习教程:数据迁移之添加字段

    原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...

  9. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

随机推荐

  1. Guitar Pro教程之组织小节

    上一章节我们讲述了关于Guitar Pro 7的主界面的相关功能的介绍,对于初学作曲,又是吉他的初学者,刚刚接触{cms_selflink page='index' text='Guitar Pro' ...

  2. pdfFactory如何设置限制打印和浏览文档权限

    当我们进行私密文件的分享时,除了要设置密码保护文件内容外,还要注意设置打印限制,防止他人利用打印的方式,进行纸质文件的传播. 在使用pdfFactory安全策略时,我们可以通过设定禁止打印的方式,完全 ...

  3. idea中安装阿里巴巴的代码规范插件

    1.打开iead软件,从左上角点击File  ->  Settings  ->  Plugins 2.安装完成后,重启idea软件,即可正常使用了.

  4. Java基础教程——Set

    Set·无序,不重复 HashSet 特点:没有重复数据,数据不按存入的顺序输出. HashSet由Hash表结构支持.不支持set的迭代顺序,不保证顺序. 但是Hash表结构查询速度很快. 创建集合 ...

  5. 为什么学完C语言觉得好像没学一般?

    不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉?   原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看 ...

  6. C++基础练习1

    1 /* 2 //读入一个双精度浮点数,保留12位小数输出这个浮点数. 3 #include<iostream> 4 #include <iomanip> 5 using na ...

  7. Potato家族本地提权分析

    原文来自SecIN社区-作者:Zeva 0x00 前言 在实际渗透中,我们用到最多的就是Potato家族的提权.本文着重研究Potato家族的提权原理以及本地提权细节 0x01 原理讲解 1.利用Po ...

  8. php项目使用git的webhooks实现自动部署

    前言 在项目开发中使用git进行代码的管理,每次完成更改上传代码后,还需要登录服务器将代码拉取下来.现在git服务器(gitee/gitlab/github)都会有Webhooks功能,以实现在向gi ...

  9. spring boot 访问外部http请求

    以前 访问外部请求都要经过 要用 httpClient  需要专门写一个方法  来发送http请求   这个这里就不说了 网上一搜全都是现成的方法 springboot 实现外部http请求 是通过F ...

  10. spring java config配置搭建工程资料收集(网文)

    https://blog.csdn.net/poorcoder_/article/details/70231779 https://github.com/lovelyCoder/springsecur ...