《Python数据分析》一2.3 选择NumPy数组元素

2.3 选择NumPy数组元素

有时,我们可能想从数组中选择指定的元素。如何做到这一点呢?不妨从创建一个 2×2矩阵着手(以下代码取自本书代码包中的elementselection.py文件):

In: a = array([[1,2],[3,4]])
In: a
Out:
array([[1, 2],
     [3, 4]])

上面的矩阵是通过向array()函数传递一个由列表组成的列表得到的。接下来,我们要逐个选择矩阵的各个元素,代码如下所示。别忘了,下标是从0开始的:

In: a[0,0]
Out: 1
In: a[0,1]
Out: 2
In: a[1,0]
Out: 3
In: a[1,1]
Out: 4

可见,选择数组元素是一件非常简单的事情。对于数组a,只要通过a[m,n]的形式,就能访问数组内的元素,其中m和n为数组元素的下标。数组元素的下标如下所示。

时间: 2024-10-31 03:43:36

《Python数据分析》一2.3 选择NumPy数组元素的相关文章

《Python数据分析》一1.4 NumPy数组

1.4 NumPy数组 安装好NumPy后,就可以开始摆弄NumPy数组了.与Python中的列表相比,进行数值运算时NumPy数组的效率要高得多.事实上,NumPy数组是针对某些对象进行了大量的优化工作. 完成相同的运算时,NumPy代码与Python代码相比用到的显式循环语句明显要少,因为NumPy是基于向量化的运算.还记得高等数学中标量和向量的概念吗?例如,数字2是一个标量,计算2加2时,进行的是标量加法运算.通过一组标量,我们可以构建出一个向量.用Python编程的术语来说,我们得到了一

《Python数据分析》一2.11 NumPy数组的广播

2.11 NumPy数组的广播 当操作对象的形状不一样时,NumPy会尽力进行处理. 例如,假设一个数组要跟一个标量相乘,这时标量需要根据数组的形状进行扩展,然后才可以执行乘法运算.这个扩展的过程叫做广播(broadcasting).下面用代码(详见本书代码包中的broadcasting.py文件)加以说明: import scipy.io.wavfile import matplotlib.pyplot as plt import urllib2 import numpy as np resp

《Python数据分析》一2.5 一维数组的切片与索引

2.5 一维数组的切片与索引 一维NumPy数组的切片操作与Python列表的切片一样.下面先来定义包含数字0.1.2,直到8的一个数组,然后通过指定下标3到7来选择该数组的部分元素,这实际上就是提取数组中值为3到6的那些元素(完整代码见本书代码包中的slicing1d.py): In: a = arange(9) In: a[3:7] Out: array([3, 4, 5, 6]) 可以用下标选择元素,下标范围从0到7,并且下标每次递增2,如下所示: In: a[:7:2] Out: arr

《Python数据分析》一2.4 NumPy的数值类型

2.4 NumPy的数值类型 Python自身虽然支持整型.浮点型和复数型,但对于科学计算来说,还远远不够.现实中,我们仍然需要更多的数据类型,来满足在精度和存储大小方面的各种不同的要求.为此,NumPy提供了更加丰富的数据类型.注意,NumPy跟数学运算有关的数据类型的名称都以数字结尾.而这个数字指示了该类型的变量所占用的二进制位数.表2-1(改编自<NumPy用户指南>)概述了NumPy的各种数值类型. 每一种数据类型都有相应的转换函数(请参考本书代码包中的numericaltypes.p

《Python数据分析》一2.6 处理数组形状

2.6 处理数组形状 前面,我们学习过reshape()函数,实际上,除了数组形状的调整外,数组的扩充也是一个经常碰到的乏味工作.比如,可以想像一下将多维数组转换成一维数组时的情形.下面的代码就是用来干这件事情的,它取自本书代码包中的shapemanipulation.py文件: import numpy as np # Demonstrates multi dimensional arrays slicing. # # Run from the commandline with # # pyt

《Python数据分析》一导读

前 言 Python数据分析"数据分析是Python的杀手锏." --佚名 数据分析在自然科学.生物医学和社会科学领域有着悠久的历史.目前,如雷贯耳的大数据虽然尚没有严格的定义,但是它对数据分析工作的影响是毋庸置疑的.下面列举几个与大数据相关的趋势. 世界人口持续增长. 越来越多的数据被搜集和存储. 电脑芯片集成的晶体管数量不可能无限增长. 政府.科学界.工业界和个人对数据洞察力的需求与日俱增. 随着数据科学的炒作,数据分析也呈现流行之势.与数据科学类似,数据分析也致力于从数据中提取有

《Python数据分析》一第2章 NumPy数组2.1 NumPy数组对象

第2章 NumPy数组 Python数据分析在前面部分,我们已经安装了NumPy和几个关键Python程序库,并动手编写了一些代码.在本章中,我们将正式步入NumPy数组的世界,带领大家一起学习NumPy和数组的知识.阅读本章后,你会对NumPy数组及其相关函数有个基本了解. 本章涉及的主题如下所示. 数据类型. 数组类型. 类型转换. 创建数组. 索引. 花式索引. 切片(Slicing). 处理数组的形状. 2.1 NumPy数组对象 NumPy中的多维数组称为ndarray,它有两个组成部

《Python数据分析》一1.5 一个简单的应用

1.5 一个简单的应用 假设要对向量a和b进行求和.注意,这里"向量"这个词的含义是数学意义上的,即一个一维数组.在第3章"统计学与线性代数"中,将遇到一种表示矩阵的特殊NumPy数组.向量a存放的是整数0到n-1的2次幂.如果n等于3,那么a保存的是0.1和4.向量b存放的是整数0到n的3次幂,所以如果n等于3,那么向量b等于0.1或者8.如果使用普通的Python代码,该怎么做呢? 在我们想出了一个解决方案后,可以拿来与等价的NumPy方案进行比较. 下面的函数

《Python数据分析》一2.12 小结

2.12 小结 本章,我们学习了NumPy的基础知识:数据类型和数组.数组具有许多属性,这些属性都是用来描述该数组的特性的.其中,我们探讨的属性之一便是数据类型,实际上,NumPy是通过一个成熟完备的对象来表示这个属性的. 与Python标准的列表相比,NumPy数组使用的切片和索引方法更加高效.此外,NumPy数组还能够对多维度数组进行处理. 我们可以用各种方式改变数组的形状,如堆叠.重定尺寸.重塑形状以及拆分等.在本章中,我们还为处理数组的形状介绍了许多简便易用的函数. 有了这些基础知识后,