Numpy 花式索引】的更多相关文章

记住:花式索引跟切片不一样,它总是将数据复制到新数组中. 一 给定一个列表,返回索引为1,3,4,5,6的数组 2 针对二维数组 需要注意的一点是,对于花式索引.对照下后面的两种方式,查询结果的不同.…
索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制,从而得到它的副本(.copy()). import numpy as np #导入numpy arr = np.arange(10) #类似于list的range() arr Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr[4] #索引(注意是从…
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程序示例 import numpy as np #索引与切片 array=np.arange(3,15) print(array) print(array[3])#数组下标为3的元素 print('\n') print(array[1:3])#取从下标1到下标3,不包括下标3 print(array[…
numpy基本的索引和切片 import numpy as np arr = np.array([1,2,3,555,666,888,10]) arr array([ 1, 2, 3, 555, 666, 888, 10]) # 数组的切片是不会复制,任何视图上的修改都会直接修改源数组 arr[1:5] array([ 2, 3, 555, 666]) # 广播 将一个标量赋值给一个切片时,自动传播到整个选区 arr[1:5] = 12 # 源数据改变 arr array([ 1, 12, 12…
NumPy 高级索引 NumPy 比一般的 Python 序列提供更多的索引方式.除了之前看到的用整数和切片的索引外,数组可以由整数数组索引.布尔索引及花式索引. 整数数组索引 以下实例获取数组中(0,0),(1,1)和(2,0)位置处的元素. 实例 import numpy as np x = np.array([[1, 2], [3, 4], [5, 6]]) y = x[[0,1,2], [0,1,0]] print (y) 输出结果为: [1 4 5] 以下实例获取了 4X3 数组中的四…
NumPy 比一般的 Python 序列提供更多的索引方式.除了之前看到的用整数和切片的索引外,数组可以由整数数组索引.布尔索引及花式索引. 1.整数数组索引 1.1 以下实例获取数组中(0,0),(1,1)和(2,0)位置处的元素. import numpy as np x = np.array([[1, 2], [3, 4], [5, 6]]) y = x[[0, 1, 2], [0, 1, 0]] print(y) 输出结果 [1 4 5] 1.2 以下实例获取了 4X3 数组中的四个角的…
numpy 数组索引 一.单个元素索引 一维数组索引 >>> x = np.arange(10) >>> x[2] 2 >>> x[-2] 8 二维数组索引 >>> x.shape = (2,5) # now x is 2-dimensional >>> x[1,3] 8 >>> x[1,-1] 9 数组切片 >>> x = np.arange(10) >>> x…
numpy的数组操作方便,可以用:来切片,用布尔数组或者布尔表达式来查找符合条件的数据,也可以用数组作为另一个数组的索引来查找指定的数据.但有时也会见到数组索引为-1和None.两者的用法如下: 1.-1指定维度上的最后一个.例如shape为(3,3)的数组data,data[2,-1]等同于data[2,2]:data[-1]相当于data[2]:data[1,1:-1]等同于data[1,1:2] 2.None并不指代数组中的某一维,None用于改变数组的维度.例如data的shape为(3…
简单的索引值 import numpy as np a = np.arange(3, 15).reshape(3, 4) print("a=") print(a) print("第2行的数据:", a[2]) print("第2行第3列的数据:", a[2][3]) 输出为: a= [[ 3 4 5 6] [ 7 8 9 10] [11 12 13 14]] 第2行的数据: [11 12 13 14] 第2行第3列的数据: 14 对于获取第2行第…
在numpy中,数组除了可以被整数索引,还可以被数组索引. a[b]就是已数组b的元素为索引,读取数组a的值. 当被索引数组a是一维数组,b是一维或则多维数组时,结果维度维度与索引数组b相同. a = np.array([7,8,9,10]) b=np.array([[3,1],[1,2]]) print('a:',a) print('b:',b) print('result:',a[b]) print(a[b].shape) a: [ 7 8 9 10] b: [[3 1] [1 2]] re…
在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在python的list 下: a = [1,2,4] print a[2:] 打印出: [4] 这是一个数组,在Numpy的多维数组中也采用相同的模式进行数组的访问: import numpy as np a = np.arange(1,37) a = a.reshape(6,6) print a 打…
布尔值索引 name_arr = np.array(["bob","joe","will","bob","joe","will","joe"]) rnd_arr = np_random.randn(7,4) print(rnd_arr) print(name_arr == "bob") #[ True False False True False…
import numpy as np x = np.array([[1, 2], [3, 4], [5, 6]]) y = x[[0,1,2], [0,1,0]] print (y) import numpy as np x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]]) print ('我们的数组是:' ) print (x) print ('\n') rows = np.array([[0,0],[3,3]]) cols…
import numpy as np A =np.arange(3,15).reshape(3,4) print(A) #第一行 print(A[2]) #返回元素 print(A[1][2]) print(A[1,2]) #返回列 print(A[:,1]) #返回行 print(A[2,:]) #返回一段元素 print(A[1,1:2]) #迭代每一行 for row in A: print(row) #迭代每一列 for column in A.T: print(column) #返回每…
pandas.DataFrame 的 iloc # ------------------------------------------------------------ 'python式的切片,包含为尾位置' In [23]:df = pd.DataFrame({ 'http_status': [200,200,404,404,301], 'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]}, index=[0,1,2,3,4]) In [26]:d…
NumPy:数组计算 NumPy是高性能科学计算和数据分析的基础包.它是Pandas等其他各种工具的基础 NumPy的主要功能: ndarray,一个多维数据结构,高校且节省空间 无需循环即可对整组数据进行快速运算的数学函数 读写磁盘数据的工具以及用于操作内存映射文件的工具 线性代数.随机数生成和傅里叶变化功能 用于集成C.C++等代码的工具 安装方法:pip install numpy(如果显示命令不存在可以尝试python -m install numpy) 引用方式通常喜欢给numpy模块…
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为array[index1:index2],意思是从index1索引位置开始,到index2索引(不包括index2)位置结束的一段数组.例如: 当把一个值赋值为一个切片时,该值会作用于此数组片段里每一个元素,例如: 二维数组 二维数组的索引 当以一维数组的索引方式访问一个二维数组的时候,获取的元素不在…
numpy思维导图 ndarray对象是什么 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引. ndarray 对象是用于存放同类型元素的多维数组. ndarray 中的每个元素在内存中都有相同存储大小的区域. ndarray 内部由以下内容组成: 一个指向数据(内存或内存映射文件中的一块数据)的指针. 数据类型或 dtype,描述在数组中的固定大小值的格子. 一个表示数组形状(shape)的元组,表示各维度大…
NumPy 比一般的 Python 序列提供更多的索引方式.除了之前看到的用整数和切片的索引外,数组可以由整数数组索引.布尔索引及花式索引. 整数数组索引 实例1:获取数组中(0,0),(1,1)和(2,0)位置处的元素 import numpy as np x = np.array([[1, 2], [3, 4], [5, 6]]) y = x[[0, 1, 2], [0, 1, 0]] print(y) 输出结果为: [1 4 5] 实例2:获取了 4x3 数组中的四个角的元素. 行索引是…
numpy数组的索引和切片 基本切片操作 >>> import numpy as np >>> arr=np.arange(10) >>> arr array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> arr[5] 5 >>> arr[5:8] array([5, 6, 7]) 切片赋值操作 1.切片赋一个值对应原来数组中的值也会变 >>> arr[5:8]=12 &g…
欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变换和随机数函数. 一维ndarray 导入numpy import numpy as np 一维ndarray的访问和常规的Python数组类似. a = np.array([1, 5, 3, 19, 13, 7, 3]) a[3] 输出: 19 a[2:5] 输出: array([ 3, 19,…
目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 list 的切片操作一样,同样由 start, stop, step 三个部分组成 import numpy as np arr = np.arange(12) print 'array is:', arr slice_one = arr[:4] print 'slice begins at 0 and…
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]: 3 In [75]: arr.shape Out[75]: (2, 2, 3) In [76]: arr[0] #返回降低一个维度的数组…
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,Numpy的索引在一维数组中,也可以通过中括号重指定索引获取第i个值(从0开始) 如: x1 = [1,2,3,4,5,6,7,8] print(x1[0]) out: 1 比较有用的一个是,numpy支持负值索引,如print(x1[-1]) out:8 负值索引的时候是从-1开始的,-1表示倒数第…
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarray时候也可以指定dtype arr.astype(dtype = np.int) #浮点数转int #对数组批量运算,作用在每个元素上 arr = np.array([[1,2,3],[4,5,6]]) print arr**5 #索引和切片 arr = np.array([1,2,3,4,5,6…
Numpy(Numerical Python)是高性能科学计算和数据分析的基础包. 1.Numpy的ndarray:一种多维数组对象 对于每个数组而言,都有shape和dtype这两个属性来获取数组的形状(元组表示)和类型. 创建ndarray: 可直接用np.array()着函数进行创建,往其中传入一维或者多维列表.   利用zeros()和ones()可以创建指定形状的全1或者全0数组.传入的参数为元组(1,2,3)   np.arange()是python内置函数的数组版本. 改变ndar…
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy和面向数组的计算能有助于理解后面的pandas.按照课本的说法,作者关心的功能主要集中于: 用于数据整理和清理.子集构造和过滤.转换等快速的矢量化运算 常用的数组解法,如排序.唯一化.集合运算等 高效的描…
Python模块中的numpy,这是一个处理数组的强大模块,而该模块也是其他数据分析模块(如pandas和scipy)的核心. 接下面将从这5个方面来介绍numpy模块的内容: 1)数组的创建 2)有关数组的属性和函数 3)数组元素的获取--普通索引.切片.布尔索引和花式索引 4)统计函数与线性代数运算 5)随机数的生成 数组的创建 numpy中使用array()函数创建数组,array的首个参数一定是一个序列,可以是元组也可以是列表. 一维数组的创建 可以使用numpy中的arange()函数…
转自:http://blog.csdn.net/pipisorry/article/details/39087583 http://blog.csdn.net/pipisorry/article/details/39087583 Introduction NumPy提供了一个特殊的数据类型ndarray,其在向量计算上做了优化.这个对象是科学数值计算中大多数算法的核心. 相比于原生的Python,利用NumPy数组可以获得显著的性能加速,尤其是当你的计算遵循单指令多数据流(SIMD)范式时. 然…