Pandas包对数据的常用数据切片功能

目录


DataFrame的索引选取

  • []

    • 只能对行进 行(row/index) 切片,前闭后开

      1. df[0:3]
      2. df[:4]
      3. df[4:]
  • where 布尔查找
    • 在[]基础上的运用  

      1. df[df["A"]>7]
  • isin
    • 比where更为灵活

      1. # 返回布尔值
      2. s.isin([1,2,3])
      3. df["A"].isin([1,2,3])
      4.  
      5. df.loc[df['sepal_length'].isin([5.8,5.1])]
  • query
    • 多个where整合切片,&:于,|:或  

      1. df.query(" A>5.0 & (B>3.5 | C<1.0) ")
  • loc :根据名称Label切片
    • 切名称

      1. # df.loc[A,B] A是行范围,B是列范围
      2. df.loc[1:4,['petal_length','petal_width']]
    • 创建新变量
      1. # 需求1:创建一个新的变量 test
      2. # 如果sepal_length > 3 test = 1 否则 test = 0
      3. df.loc[df['sepal_length'] > 6, 'test'] = 1
      4. df.loc[df['sepal_length'] <=6, 'test'] = 0
      5.  
      6. # 需求2:创建一个新变量test2
      7. # 1.petal_length>2 and petal_width>0.3 = 1
      8. # 2.sepeal_length>6 and sepal_width>3 = 2 3.其他 = 0
      9. df['test2'] = 0
      10. df.loc[(df['petal_length']>2)&(df['petal_width']>0.3), 'test2'] = 1
      11. df.loc[(df['sepal_length']>6)&(df['sepal_width']>3), 'test2'] = 2
  • iloc:切位置

    • 切位置,以序列号去切

      1. df.iloc[1:4,:]
  • ix:混切
    • 名称和位置混切,但效率低,少用

      1. df1.ix[0:3,['sepal_length','petal_width']]
  • map与lambda
    •   

      1. alist = [1,2,3,4]
      2. map(lambda s : s+1, alist)
      1. [2, 3, 4, 5]
      1. df['sepal_length'].map(lambda s:s*2+1)[0:3]
      1. 0 11.2
      2. 1 10.8
      3. 2 10.4
      4. Name: sepal_length, dtype: float64
  • contains
      1. # 使用DataFrame模糊筛选数据(类似SQL中的LIKE)
      2. # 使用正则表达式进行模糊匹配,*匹配0或无限次,?匹配0或1次
      3. df_obj[df_obj['套餐'].str.contains(r'.*?语音CDMA.*')]
      4.  
      5. # 下面两句效果一致
        df[df['商品名称'].str.contains("四件套")]
        df[df['商品名称'].str.contains(r".*四件套.*")]


Pandas-数据选取的更多相关文章

  1. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  2. 数据分析与展示——Pandas数据特征分析

    Pandas数据特征分析 数据的排序 将一组数据通过摘要(有损地提取数据特征的过程)的方式,可以获得基本统计(含排序).分布/累计统计.数据特征(相关性.周期性等).数据挖掘(形成知识). .sort ...

  3. pandas小记:pandas数据输入输出

    http://blog.csdn.net/pipisorry/article/details/52208727 数据输入输出 数据pickling pandas数据pickling比保存和读取csv文 ...

  4. Pandas数据排序

    Pandas数据排序 .sort_index() 在指定轴上根据索引进行排序,索引排序后内容会跟随排序 b = pd.DataFrame(np.arange(20).reshape(4,5),inde ...

  5. pandas数据操作

    pandas数据操作 字符串方法 Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素 t = pd.Series(['a_b_c_d','c_d_e',np. ...

  6. Pandas数据存取

    pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...

  7. pandas 数据预处理

    pandas 数据预处理 缺失数据处理 csv_data=''' A,B,C,D 1.0,2.0,3.0,4.0 5.6,6.0,,8.0 0.0,11.0,12.0,,''' import pand ...

  8. Pandas数据规整

    Pandas数据规整 数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求 Pandas提供了一组高级的.灵活的.高效的核心函数和算法,它 ...

  9. Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结

    pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...

  10. Python之pandas数据加载、存储

    Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...

随机推荐

  1. LLVM 笔记(五)—— LLVM IR

    ilocker:关注 Android 安全(新手) QQ: 2597294287 LLVM 的 IR (Intermediate Representation) 是其设计中的最重要的部分.优化器在进行 ...

  2. Centos下yum安装PHP

    添加 yum 源 Centos 6.x 的源 # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6 ...

  3. 【2016-10-17】【坚持学习】【Day8】【工厂方法模式】

    工厂方法模式又叫工厂模式,虚拟构造器模式 定义: 工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该 ...

  4. Windows+Linux----打造和谐的开发环境

    其实Windows和Linux并非水火不容,相反,我觉得,如果将二者结合起来,取长补短,便可打造一个华丽.实用的开发环境. 吾以为,不会用linux的人,不能称为一个程序猿,但是一味觉得Linux很吊 ...

  5. JSONResult 封装

    import java.util.List; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson. ...

  6. Nim游戏

    目前有3堆石子,每堆石子个数也是任意的,双方轮流从中取出石子,规则如下:1)每一步应取走至少一枚石子:每一步只能从某一堆中取走部分或全部石子:2)如果谁不能取谁就失败. Bouton定理: 必败状态当 ...

  7. 洛谷P2964 [USACO09NOV]硬币的游戏A Coin Game

    题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...

  8. 3.开发Java消息驱动bean实例代码

    java消息服务(JMS)是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互.应用程序A发送一条消息到消息服务器的某个目的地(Destination),然后消 ...

  9. pcl曲面重建模块-贪婪三角形投影算法实例

    贪婪三角形投影算法 在pcl-1.8测试 #include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include &l ...

  10. Gradle 10分钟上手指南

    java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说: 1. ant 功能虽然也很强大,但是过 ...