python-Numpy库

一、简介:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。其实主要用于数组或矩阵计算


二、  NumPy Ndarray 对象

ndarray里可以存储同类型的多维数组;

创建一个ndarray ,只需要调用numpy库中的array函数即可;

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)  object表示数组或者数列,dtype表示数组元素类型,copy表示对象是否需要复制,order表示数组样式,C表示行,F表示列,A表示任意。ndmin表示最小维度

代码:
import numpyas np

#一维数组

a=np.array([1,2,3])

#二维数组

b=np.array([[1,2],[3,4]])

#最小维度

c=np.array([[1,2,3],[1,2,4]],ndmin=0)

#dtype类型为复数的

d=np.array([1,2,3],dtype=complex)

print(a,b,c,d)


三、数组类型的函数为dtype() 即numpy.dtype(object, align, copy),其中 numpy.dtype(object, align, copy), align - 如果为 true,填充字段使其类似 C 的结构体, copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用

代码

import numpy as np

e= np.dtype(np.int32)

f=np.dtype('i4')

g=np.dtype([('age',np.int8)])

print(e,f,g)


四、NumPy 数组属性:

数组中比较重要 ndarray 对象属性有: .ndim表示维度数量;  .shape表示数组维度;   对于矩阵,n 行 m 列; .size 表示数组元素的总个数,相当于 .shape 中 n*m 的值;   .dtype表示数组类型, 注意这些都是属性,不是函数,不需要加()

代码
import numpy as np

a = np.array([[1,2,3],[4,5,6]])  

print (a.shape)

输出:(2, 3)

import numpyas np

a = np.array([[1, 2, 3], [4, 5, 6]])

b = a.reshape(3, 2)

print(b)

输出:

[[1, 2]

[3, 4]

[5, 6]]


五、NumPy 创建数组

.empty()   空数组 numpy.empty(shape, dtype = float, order = 'C')

.zeros()   0矩阵

.ones()   1矩阵

代码
import numpy as np

 x = np.empty([3,2], dtype = int) 

print (x)

输出[[ 6917529027641081856 5764616291768666155]

 [ 6917529027641081859 -5764598754299804209] 

[ 4497473538 844429428932120]]   随机生成,没有初始化

import numpy as np 

 # 自定义类型

z = np.zeros((2,2), dtype = [('x', 'i4'), ('y', 'i4')])

 print(z)

输出:

[[(0, 0) (0, 0)]

 [(0, 0) (0, 0)]] 

x = np.ones([2,2], dtype = int)

print(x)

输出:

[[1 1]

 [1 1]]


六、NumPy 从数值范围创建数组

 arange 函数创建数值范围  numpy.arange(start, stop, step, dtype)  

linspace函数用于创建一个一维数组,数组是一个等差数列构成的

numpy.logspace 函数用于创建一个于等比数列。 np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)  num是步长,base是 对数 log 的底数

import numpyas np

a=np.arange(10,20,3)

print(a)

输出:[10 13 16 19]

a = np.linspace(1,10,10)

print(a)

输出:[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.] #等差数列

a = np.logspace(1.0, 2.0, num = 10)   #num底数是10 

print(a)

输出:[ 10. 12.91549665 16.68100537 21.5443469 27.82559402

  35.93813664  46.41588834    59.94842503      77.42636827    100.    ]


总结:

函数:array() 数组;dtype()类型;empty()空数组;zeros();ones();arange()表示范围;

linspace()表示函数用于创建一个一维数组,数组是一个等差数列构成的

logspace()函数用于创建一个于等比数列

transpose()函数用于对换数组的维度

属性:.ndim表示维度数量; .shape表示数组维度;   对于矩阵,n 行 m 列; .size 表示数组元素的总个数,相当于 .shape 中 n*m 的值;   .dtype表示数组类型 ; .flat 数组元素迭代器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容