python numpy 学习一

这次学习numpy包,也是按照官方的tutorial 来学习的,地址为https://docs.scipy.org/,总体感觉这个包的好多语法都和matlab相似。学习使用Spyder这个软件,软件既可以交互式的操作也可以工程式的编程,还可以像Matlab一样可以查看变量,以及历史命令,总之特别好用。废话不说这么多了,下面直接进入正题:

首先导入模块

 import numpy as np

1、介绍了这个包主要是对数组中的元素进行操作,类型为ndarray,介绍了几种主要的属性

 ndarray.ndim          数组的维度

ndrarry.shape          数组各维度的值,结果为N*M

ndrarry.size             数组的所有元素个数

ndrarry.dtype          元素的类型 ,默认为float64

ndrarry.itemsize      每个元素所占的字节

ndrarry.data            数组中的元素


举个例子:

import numpy as np
a=np.arange(12).reshape(2,2,3)
a.ndim
a.shape
a.size
a.dtype
a.itemsize
a.data


python numpy 学习一_第1张图片

#可以使用np.array() 生成数组

b=np.array([2,3,4])                     #生成数组的时候要加’ [ ]' ,不加的话会显示错误

b.dtype

print(b)

python numpy 学习一_第2张图片

#也可以利用关键字参数dtype,生成需要的复数

c=np.array([[1,2],[3,4]],dtype=complex)
c
c.dtype.name

python numpy 学习一_第3张图片

#特殊矩阵的生成,zeros,ones,empty 

#用法:

d=np.zeros((3,4))                           #生成3*4的矩阵
d
e=np.ones((2,3),dtype=np.int16)  #2*3的单位矩阵
e
f=np.empty((2,3))                          #生成2*3的随机矩阵,并不是真正的随机,其实是根据内存中存储的信息生成
f

python numpy 学习一_第4张图片

#可以使用arange,linspace生成序列

a=np.arange(0,2,0.3)   #从0到2,以步长为0.3增长
a
b=np.linspace(0,2,9)  #从0到2,均等的取9个
print(b)
f=np.sin(b)                     
print(f)

python numpy 学习一_第5张图片

#对数组进行的基本操作

a=np.array([20,30,40,50])
b=np.arange(4)
print(b)
c=a-b                               #各个元素之间进行减法,必需是相同维度的数组才能进行加减操作

print(c)
print(b**2)                       #对b的每个元素进行平方
print(10*np.sin(a))
print(a<35)

python numpy 学习一_第6张图片

#  dot乘法与*的不同

A = np.array( [[1,1],[0,1]])
B=np.array([[2,0],[3,4]])
A*B                                           #A中的每个元素与B的对应元素相乘
A.dot(B)                                    #线性代数中的A*B
np.dot(A,B)

python numpy 学习一_第7张图片

#最大值,最小值,以及对行、列的选择参数axis

a=np.arange(12).reshape(3,4)
print(a)
a.min()                                      #默认是对所有元素求最小
a.min(axis=0)                           #axis=0 是对每一列元素求最小
a.max()                                    
a.max(axis=1)                          #axis=1 是对每一行元素求最大,求和函数也类似
a.cumsum(axis=1)                   #对每一行元素进行累加求和,每行结束之后重新开始

python numpy 学习一_第8张图片




你可能感兴趣的:(love_python)