numpy.array

关于python中的二维数组,主要有list和numpy.array两种。 
好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。 
我们主要讨论list和numpy.array的区别: 
我们可以通过以下的代码看出二者的区别

 1 >>import numpy as np
 2 >>a=[[1,2,3],[4,5,6],[7,8,9]]
 3 >>a
 4 [[1,2,3],[4,5,6],[7,8,9]]
 5 >>type(a)
 6 <type ‘list‘>
 7 >>b=np.array(a)"""List to array conversion"""
 8 >>type(b)
 9 <type ‘numpy.array‘>
10 >>b
11 array=([[1,2,3],
12         [4,5,6],
13         [7,8,9]])

list对应的索引输出情况:

 1 >>a[1][1]
 2 5
 3 >>a[1]
 4 [4,5,6]
 5 >>a[1][:]
 6 [4,5,6]
 7 >>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引"""
 8 Traceback (most recent call last):
 9   File "<stdin>", line 1, in <module>
10 TypeError: list indices must be integers, not tuple
11 >>a[:,1]
12 Traceback (most recent call last):
13   File "<stdin>", line 1, in <module>
14 TypeError: list indices must be integers, not tuple

numpy.array对应的索引输出情况:

>>b[1][1]
5
>>b[1]
array([4,5,6])
>>b[1][:]
array([4,5,6])
>>b[1,1]
5
>>b[:,1]
array([2,5,8])

由上面的简单对比可以看出, numpy.array支持比list更多的索引方式,这也是我们最经常遇到的关于两者的区别。此外从[Numpy-快速处理数据]上可以了解到“由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],有3个指针和3个整数对象。”

原文地址:https://www.cnblogs.com/lfydeblog/p/8135848.html

时间: 2024-08-04 14:58:45

numpy.array的相关文章

python numpy array 的一些问题

1 将list转换成array 如果list的嵌套数组是不规整的,如 a = [[1,2], [3,4,5]] 则a = numpy.array(a)之后 a的type是ndarray,但是a中得元素a[i]都还是list 如果a = [[1,2], [3,4]] 则a = numpy.array(a)之后 a的type是ndarray,里面的元素a[i]也是ndarray 2 flatten函数 Python自身不带有flatten函数,numpy中array有flatten函数. 同1的一样

gensim与numpy array 互转

目的 将gensim输出的格式转化为numpy array格式,支持作为scikit-learn,tensorflow的输入 实施 使用nltk库的停用词和网上收集的资料整合成一份新的停用词表,用来过滤文档中的停用词,也去除了数字和特殊的标点符号,最后将所有字母转化为小写形式. 以下是原文: Subject: Re: Candida(yeast) Bloom, Fact or Fiction From: [email protected] (Pat Churchill) Organization

python numpy array 与matrix 乘方

python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元素的乘方,而矩阵matrix的乘方遵循矩阵相乘,因此必须是方阵. 2*3的数组与矩阵 >>> from numpy import * >>> import operator >>> a = array([[1,2,3],[4,5,6]]) >>

第四十篇 Numpy.array的基本操作——向量及矩阵的运算

No.1. Numpy.array相较于Python原生List的性能优势 No.2. 将向量或矩阵中的每个元素 + 1 No.2. 将向量或矩阵中的所有元素 - 1 No.3. 将向量或矩阵中的所有元素 * 2 No.4. 将向量或矩阵中的所有元素 / 2 或 // 2 No.5. 幂运算 No.6. 取余 No.7. 取绝对值 No.8. 三角函数 No.9. 取e的x方 No.10. 取任意数的x方 No.11. 取以e为底x的对数 No.12. 取以任意数为底x的对数 No.13. 矩阵

numpy.array 合并和分割

# 导包 import numpy as np numpy.array 的合并 .concatenate() 一维数组 x = np.array([1, 2, 3]) # array([1, 2, 3]) y = np.array([3, 2, 1]) # array([3, 2, 1]) np.concatenate([x, y]) # array([1, 2, 3, 3, 2, 1]) z = np.array([666, 666, 666]) # array([666, 666, 666]

numpy array或matrix的交换两行

A[j,:] = A[maxindex,:] # 注意这样是一个很低级的错误!这样只是赋值 我们很容易想起python中的两个值交换一句搞定不用引入中间变量 a, b = b, a 但在numpy的array或matrix中,这样是错误的 需要使用选中两行来互换: A[[i, j], :] = A[[j, i], :] # 实现了第i行与第j行的互换 下面看一个实例: import numpy as np m = np.mat([[1. ,2 ,-1],[2,1,-2],[-3,1,1]]) p

numpy array转置与两个array合并

我们知道,用 .T 或者 .transpose() 都可以将一个矩阵进行转置. 但是一维数组转置的时候有个坑,光transpose没有用,需要指定shape参数, 在array中,当维数>=2,时这个成立,但=1时,就不成立了,如: In [7]: yOut[7]: array([0, 0, 0, 0, 0]) In [14]: y.TOut[14]: array([0, 0, 0, 0, 0]) In [15]: y.transpose()Out[15]: array([0, 0, 0, 0,

numpy.array的shape属性 —— 2018-09-07

numpy创建的数组都有一个shape属性,它是一个元祖,返回各个维度的维数 二维例子: >>> import numpy as np >>> y = np.array([[1,2,3],[4,5,6]]) >>> print(y) [[1 2 3] [4 5 6]] >>> print(y.shape) (2, 3) >>> print(y.shape[0]) 2 >>> print(y.shap

[Python Cookbook] Numpy Array Joint Methods: Append, Extend &amp; Concatenate

数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append().extend()等进行拼接处理,最后将列表转成数组. 示例1: import numpy as np a=np.array([1,2,5]) b=np.array([10,12,15]) a_list=list(a) b_list=list(b) a_list.extend(b_list) a_list [1, 2, 5, 10, 12, 15] a=np.array(a_list) a array([ 1,  2