我们对 DataFrame 进行选择,大抵从这三个层次考虑:行列、区域、单元格。
其对应使用的方法如下:
一. 行,列 --> df[]
二. 区域   --> df.loc[], df.iloc[], df.ix[]
三. 单元格 --> df.at[], df.iat[]

下面开始练习:

import numpy as np
import pandas as pddf = pd.DataFrame(np.random.randn(6,4), index=list('abcdef'), columns=list('ABCD'))

1. df[]:

一维
行维度:
    整数切片、标签切片、<布尔数组>
列维度:
    标签索引、标签列表、Callable

df[:3]
df['a':'c']
df[[True,True,True,False,False,False]] # 前三行(布尔数组长度等于行数)
df[df['A']>0] # A列值大于0的行
df[(df['A']>0) | (df['B']>0)] # A列值大于0,或者B列大于0的行
df[(df['A']>0) & (df['C']>0)] # A列值大于0,并且C列大于0的行

df['A']
df[['A','B']]
df[lambda df: df.columns[0]] # Callable

2. df.loc[]

二维,先行后列
行维度:
    标签索引、标签切片、标签列表、<布尔数组>、Callable
列维度:
    标签索引、标签切片、标签列表、<布尔数组>、Callable

df.loc['a', :]
df.loc['a':'d', :]
df.loc[['a','b','c'], :]
df.loc[[True,True,True,False,False,False], :] # 前三行(布尔数组长度等于行数)
df.loc[df['A']>0, :]
df.loc[df.loc[:,'A']>0, :]
df.loc[df.iloc[:,0]>0, :]
df.loc[lambda _df: _df.A > 0, :]

df.loc[:, 'A']
df.loc[:, 'A':'C']
df.loc[:, ['A','B','C']]
df.loc[:, [True,True,True,False]] # 前三列(布尔数组长度等于行数)
df.loc[:, df.loc['a']>0]          # a行大于0的列
df.loc[:, df.iloc[0]>0]           # 0行大于0的列
df.loc[:, lambda _df: ['A', 'B']]

df.A.loc[lambda s: s > 0]

3. df.iloc[]

二维,先行后列
行维度:
    整数索引、整数切片、整数列表、<布尔数组>
列维度:
    整数索引、整数切片、整数列表、<布尔数组>、Callable

df.iloc[3, :]
df.iloc[:3, :]
df.iloc[[0,2,4], :]
df.iloc[[True,True,True,False,False,False], :] # 前三行(布尔数组长度等于行数)
df.iloc[df['A']>0, :]       #× 为什么不行呢?想不通!
df.iloc[df.loc[:,'A']>0, :] #×
df.iloc[df.iloc[:,0]>0, :]  #×
df.iloc[lambda _df: [0, 1], :]

df.iloc[:, 1]
df.iloc[:, 0:3]
df.iloc[:, [0,1,2]]
df.iloc[:, [True,True,True,False]] # 前三列(布尔数组长度等于行数)
df.iloc[:, df.loc['a']>0] #×
df.iloc[:, df.iloc[0]>0]  #×
df.iloc[:, lambda _df: [0, 1]]

4. df.ix[]

二维,先行后列
行维度:
    整数索引、整数切片、整数列表、
    标签索引、标签切片、标签列表、
    <布尔数组>、
    Callable
列维度:
    整数索引、整数切片、整数列表、
    标签索引、标签切片、标签列表、
    <布尔数组>、
    Callable

df.ix[0, :]
df.ix[0:3, :]
df.ix[[0,1,2], :]df.ix['a', :]
df.ix['a':'d', :]
df.ix[['a','b','c'], :]

df.ix[:, 0]
df.ix[:, 0:3]
df.ix[:, [0,1,2]]df.ix[:, 'A']
df.ix[:, 'A':'C']
df.ix[:, ['A','B','C']]

5. df.at[]

精确定位单元格
行维度:
    标签索引
列维度:
    标签索引

df.at['a', 'A']

6. df.iat[]

精确定位单元格

行维度:
    整数索引
列维度:
    整数索引

df.iat[0, 0]

本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5595616.html,如需转载请自行联系原作者

pandas 数据索引与选取相关推荐

  1. python科学计算笔记(四)pandas 数据索引与选取

    我们对 DataFrame 进行选择,大抵从这三个层次考虑:行列.区域.单元格. 其对应使用的方法如下: 一. 行,列 --> df[] 二. 区域   --> df.loc[], df. ...

  2. pandas数据索引之loc、iloc、ix详解及实例

    pandas数据索引之loc.iloc.ix详解及实例 先来个总结: loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为&quo ...

  3. Pandas简明教程:四、Pandas数据索引方式

    文章目录 1.以类似`dict`的方式访问 2.以属性方式访问数据 3.访问行(slicing) 4.用`loc`方法访问不同行列 5.用`iloc`方法直接访问行列 6.其它方式 本系列教程教程完整 ...

  4. pandas数据索引

    问题一 pandas数据索引 import pandas as pd data={'28':1,'29':2,'30':3} se1=pd.Series(data,name='c') #创建panda ...

  5. Pandas简明教程:八、Pandas数据透视表

    透视表(pivot)是由微软发明的一个概念,1993年微软注册了PivotTable这一商标,而他们又在2020年正式撤销了注册. 关于透视表的话题随便搜搜就是一大堆,而有些地方可能都吹得很神了.透视 ...

  6. python中Pandas之DataFrame索引、选取数据

    目录 1.索引是什么 1.1 认识索引 1.2 自定义索引 2. 索引的简单使用 2.1 列索引 2.1.2 使用loc和iloc 2.2 行索引 2.2.1 使用[ : ] 2.2.2 使用.loc ...

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

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

  8. python中df是什么_python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]...

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

  9. Pandas数据分析14——pandas数据框的多层索引

    参考书目:<深入浅出Pandas:利用Python进行数据处理与分析> pandas数据框针对高维数据,也有多层索引的办法去应对.多层数据一般长这个样子 可以看到AB两大列,下面又有xy两 ...

最新文章

  1. 最近学的用javascript给datagrid排序
  2. 路径总和 II—leetcode113
  3. WebKit 内核源码分析 (二) FrameLoader
  4. 一个简单易用的图标字体库和CSS框架fontawesome
  5. 服务器上的电脑登不上oracle,Oracle服务器改计算机名后报错之解决方法
  6. C#用注册表开机自动启动某某软件
  7. linux 下which、whereis、locate、find文件查找命令的区别[ZT]
  8. MySQL 表分区功能详解
  9. 2021年中国新型电力系统行业市场现状、竞争格局与发展方向分析「图」
  10. Python 开发 利用SQLmap API接口进行批量的SQL注入检测.(SRC挖掘)
  11. 常识——(adb)小米VR正式版使用第三方APP,电脑充当手机的蓝牙手柄,实现确认功能,从电脑键盘向手机输入文字
  12. 什么是数据分析,主要有什么目的,数据分析的处理流程是什么?
  13. 2021年美容师(初级)报名考试及美容师(初级)考试试卷
  14. PythonOCC基础使用:基础建模指令(重要)
  15. python 如何提取 word 内的图片
  16. ios13全选手势_iOS13 (四)双指、三指手势
  17. 解读基金—读书框架笔记①
  18. CTF实验吧-who are you?【基于sleep盲注脚本】
  19. 足球数据API接口 - 【即时指数2】API调用示例代码
  20. R12 AR INVOICE 接口表导入

热门文章

  1. JS复制内容到剪贴板
  2. 网页中的宽高度(网页视口宽高度,网页滚动宽高度,网页宽高度........)
  3. H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)
  4. CNN结构:用于检测的CNN结构进化-结合式方法
  5. PCL:PCL可视化显示点云
  6. Boost锁~临界区保护和临界资源共享
  7. 指定输出路径_新手Python必须知道的文件路径和变量命名技巧
  8. 趴在门口的云计算,盯上了屋内狂奔的CDN
  9. Pokémon Go火遍全球,开启全民捕捉小精灵的时代
  10. springMVC解析视图