numpy.array

Posted 小马过_河

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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个整数对象。”

以上是关于numpy.array的主要内容,如果未能解决你的问题,请参考以下文章

如何从Numpy Array中删除/删除异常值

删除python numpy矩阵上的撇号

Numpy Array 获取按行搜索的行索引

无法将 pandas.Series 转换为 dtype=np.float64 的 numpy.array

当我从 api (yfinance) 获取数据时,Numpy Array 缺少日期

Pandas Dataframe / Numpy Array“轴”定义中的歧义