Numpy的索引切片

索引

In [72]: arr = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]])                 In [73]: arr
Out[73]:
array([[[1, 1, 1],[2, 2, 2]],[[3, 3, 3],[4, 4, 4]]])In [74]: arr.ndim
Out[74]: 3In [75]: arr.shape
Out[75]: (2, 2, 3)In [76]: arr[0]           #返回降低一个维度的数组
Out[76]:
array([[1, 1, 1],[2, 2, 2]])

In [77]: arr[0,0]         #返回一维数组
  Out[77]: array([1, 1, 1])

切片

In [78]: arr[:,:,:2]
Out[78]:
array([[[1, 1],[2, 2]],[[3, 3],[4, 4]]])

索引与切片结合

array([[[1, 1, 1],[2, 2, 2]],[[3, 3, 3],[4, 4, 4]]])
In [79]: arr[0,1,:2]
Out[79]: array([2, 2])

Pandas的索引切片

一、Series的索引

In [8]: obj = pd.Series(np.arange(4),index=['a','b','c','d'])                  In [9]: obj
Out[9]:
a    0
b    1
c    2
d    3
dtype: int64

1)使用index进行索引

In [10]: obj['b']
Out[10]: 1In [11]: obj[1]
Out[11]: 1

2)切片

In [12]: obj['b':'d']    #包含尾部
Out[12]:
b    1
c    2
d    3
dtype: int64In [13]: obj[1:3]
Out[13]:
b    1
c    2
dtype: int64

3)使用索引列表进行索引

In [14]: obj[['b','d']]
Out[14]:
b    1
d    3
dtype: int64In [15]: obj[[1,3]]
Out[15]:
b    1
d    3
dtype: int64

二、DataFrame的索引

In [20]: obj = pd.DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'...: ],columns=['a1','b2','c3','d4'])
In [21]: obj
Out[21]: a1  b2  c3  d4
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

1)索引列

不可以obj[‘a’]了

In [32]: obj['b2']
Out[32]:
a     1
b     5
c     9
d    13
Name: b2, dtype: int64

2)行切片

In [36]: obj[:3]
Out[36]: a1  b2  c3  d4
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11In [37]: obj[obj['c3']>6]  #根据布尔值数组选择数据
Out[37]: a1  b2  c3  d4
c   8   9  10  11
d  12  13  14  15

3)索引列和行

In [38]: obj['a1']['c']
Out[38]: 8In [39]: obj['a1'][:2]
Out[39]:
a    0
b    4
Name: a1, dtype: int64

4)使用loc和iloc选择数据

使用轴标签(loc)或整数标签(iloc)从DataFrame中选出数组的行和列的子集

整数标签(iloc):

In [55]: obj
Out[55]: a1  b2  c3  d4
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15In [53]: obj.iloc[2,[2,0,1]]  #变换列顺序
Out[53]:
c3    10
a1     8
b2     9
Name: c, dtype: int64In [54]: obj.iloc[2]         #索引行
Out[54]:
a1     8
b2     9
c3    10
d4    11
Name: c, dtype: int64

轴标签(loc):

In [57]: obj.loc['a',['b2','a1']]
Out[57]:
b2    1
a1    0
Name: a, dtype: int64In [58]: obj.loc['a':'c',['b2','a1']]                                          Out[58]: b2  a1
a   1   0
b   5   4
c   9   8

转载于:https://www.cnblogs.com/tongtong123/p/10620206.html

numpy和pandas的基础索引切片相关推荐

  1. numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas

    之前为大家分享了python的基本语法,有疑问的小伙伴可以参考下文- 土豆爱数学:零基础如何快速入门python​zhuanlan.zhihu.com 对python基本语法了解后,就可以尝试用pyt ...

  2. Python基础学习——Numpy包(2、索引、切片与迭代)

    1. 副本与视图 Numpy中做数组运算或数组操作时,返回结果都是数组的副本或视图. 副本:原有数据的一份拷贝,改变副本不会改变原数据 视图:原有数据的一个引用或别称(赋值操作),对视图的修改会引起原 ...

  3. Numpy与Pandas基础

    Numpy与Pandas基础 Cyczz 计算机小白 ​关注他 1 人赞同了该文章 本文包括: 一维数据分析 二维数据分析 一.一维数组 Numpy的一维数组(array) 创建一个一维数组,参数传入 ...

  4. Python 数据分析三剑客之 NumPy(二):数组索引 / 切片 / 广播 / 拼接 / 分割

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  5. 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识

    #2018-03-22 10:23:16 March Thursday the 12 week, the 081 day SZ SSMR http://blog.csdn.net/eastmount/ ...

  6. 【Python 数据科学】Numpy和Pandas基础

    文章目录 一.Numpy基础简介 1.基础 2. 数组的加减乘除.切片与列表相同 二.Pandas 基础 1.series 1)基础 2)切片 2.dataframe 1).构造 2).切片 取行 取 ...

  7. numpy 获取特定数值的索引_入门Numpy、Pandas及案例实践

    用Python进行数据分析,需要用到数据分析相关的包,如本文中用到的pandas和numpy包. 本文目录: 用python分析一维数据 用python分析二维数据 案例:销售数据分析 一.一维数据分 ...

  8. 数据分析:numpy和pandas基础操作详解

    数据处理基础 numpy基础 1.numpy创建数组及基础属性 2.数组的特点 3.创建常见数组 4.数组数据类型 5.生成随机数 6.一维数组索引 7.布尔索引 8. 多维数组的索引 9.实际问题 ...

  9. 数据基础---numpy、pandas使用教程

    数组对象 Numpy库 Numpy最重要的一个特点是就是其N维数组对象,即ndarray,ndarray是一个通用的同构数据多维容器,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表 ...

最新文章

  1. 干货丨 简述迁移学习在深度学习中的应用
  2. 如何在不影响网络的情况下构建边缘计算策略
  3. cambridge official online course store
  4. 使用node和npmVS时出现的问题
  5. mongodb 物理删除数据
  6. 算法入门篇八 贪心算法
  7. Android官方开发文档Training系列课程中文版:OpenGL绘图之环境配置
  8. 网页打开微信公众号关注界面
  9. Linux基础命令---tracepath
  10. 蒸汽朋克简单图形免扣PNG素材,让设计艺术变得简单
  11. 租房系统代码java_基于Java的租房管理系统的设计及实现.doc
  12. Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布 | 开发者周刊...
  13. java中.length得到结果_Java length()方法:获取字符串的长度
  14. POJ 2429 GCD LCM Inverse
  15. window 右击菜单启动 nodejs app
  16. 【PHP设计模式 02_JieKou.php】面向接口开发
  17. Python3.6 安装pandas包的方法
  18. c++质数判定及输出质数表
  19. 前端常用PS技巧总结之将图片背景透明化
  20. spring BeanPostProcessor使用场景

热门文章

  1. 【Tensorflow-Error】CUDA_ERROR_OUT_OF_MEMORY: out of memory
  2. 从晶体管特性曲线看饱和问题(Z)
  3. matlab调用C程序
  4. DengAI —数据预处理
  5. nlp自然语言处理_自然语言处理(NLP):不要重新发明轮子
  6. 使用Xcap发送网络数据包
  7. 上半年银行罚单不断,7月越早贷款越有利
  8. nodejs写html文件路径,Nodejs读取文件时相对路径的正确写法(使用fs模块)
  9. 鸿蒙之下5怎么跳城池,鸿蒙之空间道尊
  10. rabbitmq怎样确认是否已经消费了消息_阿里Java研发二面:了解RabbitMQ?说说RabbitMQ可靠性投递...