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

目录


DataFrame的索引选取

  • []

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

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

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

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

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

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

    • 切位置,以序列号去切

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

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

      alist = [1,2,3,4]
      map(lambda s : s+1, alist)
      [2, 3, 4, 5]
    • df['sepal_length'].map(lambda s:s*2+1)[0:3]
      0    11.2
      1 10.8
      2 10.4
      Name: sepal_length, dtype: float64
  • contains
    • # 使用DataFrame模糊筛选数据(类似SQL中的LIKE)
      # 使用正则表达式进行模糊匹配,*匹配0或无限次,?匹配0或1次
      df_obj[df_obj['套餐'].str.contains(r'.*?语音CDMA.*')] # 下面两句效果一致
      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. BZOJ1500: [NOI2005]维修数列[splay ***]

    1500: [NOI2005]维修数列 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 12278  Solved: 3880[Submit][Statu ...

  2. Andorid 反编译App

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23564065 开发的过程中,有时候可能会去使用别的app里面的图片,参考布局甚至 ...

  3. MYSQL的卸载

    卸载mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到mysql的两个包: mysql-4.1.12-3.RHEL4.1 mysqlclient10 ...

  4. Struts2 Validation学习

    Every input is evil! ------------------------------华丽的分割线----------------------------------- 客户端提交的数 ...

  5. 关于DOS与cmd(windows系统)

    dos是计算机的最初期的操作系统,对电脑操作必须输入各种dos命令窗口,可以理解成运行计算机机器内部语言,知道编程吗?其实早期dos命令操作系统就是运行计算机内部的编程命令,因此操作人员都必须具有一定 ...

  6. 恢复 Windows 7 的“回到父目录”按钮

    Windows 7 使用以来很多方面一直不习惯,特别是让我无比纠结的”回到父目录“ 按钮从资源管理器中消失了. 不能不说这是一个失败! 很多时候,Win 7 地址栏中自以为是的显示的很多层目录层次的面 ...

  7. 【JSON】JavaScript删除json元素

    1.json中的两种结构:对象{}和数组[] 2.直接delete json对象[元素名称].

  8. iOS开发小技巧--微博项目中的键盘工具条

    微博项目中的键盘工具条 项目中的键盘工具条不能使用inputAccessoryView,因为inputAccessoryView不能实现键盘隐藏的时候,工具条还显示在眼前,如图: 所以,果断决定将工具 ...

  9. Redis集群(四):主从配置二

    一.本文目的        主要介绍redis主从模式下各种情况 二.说明 主从的基本概念:Master用于写入,Slaver用于读取,不能写入或修改,一个Master可以对应多个Slaver Mas ...

  10. 正确遍历ElasticSearch索引

    1:ElasticSearch的查询过程 2:由ES查询模式引起的深度分页问题 3:如何正确遍历索引中的数据 ElasticSearch的查询过程 es的数据查询分两步: 第一步是的结果是获取满足查询 ...