#numpy是一维或多维数组
1使用np.array()创建numpy
2使用plt创建
3使用np.routines函数创建
'''使用numpy创建'''
import numpy as np
arr=np.array([2,3]) #也可以写多维数组如[[1,2],[2,3]]为二维数组
print(arr)
print(type(arr))
数组与列表不同,列表可以表示多种数据类型,而数组只能表示同一种数据类型。 如果不统一则会强转 str>float>int
#使用plt创建
import matplotlib.pyplot as plt
#图片数据的读取
read=plt.imread('D:/1.JPG')
read
photo=plt.imshow(read)
此为效果图
#生成数字
arr1=np.linspace(0,80,num=5)# 生成一组一维等差数列
print(arr1)
arr=np.arange(0,100,5)#生成一组一维等差数列,整数型
arr #jupyter中显示
#随机数的固定
np.random.seed(10)#固定时间种子
arr=np.random.randint(0,100,size=(5,8))
print(arr)
arr=np.random.random(size=(5,8))
arr
```python
#随机数
arr=np.random.randint(0,100,size=(5,8))
print(arr)
arr=np.random.random(size=(5,8))
arr
索引与切片
#numpy的切片与索引
arr=np.array([[2,5,5,5,5],[5,5,6,7,7]])
#arr[0]#索引第0行
arr[[0,1]] #索引0-1行
arr
#切片
arr=np.array([[2,5,5,5,5],[5,5,6,7,7],[7,7,7,5,8]])
#arr[行,列]
arr[:,0:2]
print(arr)
新的
import numpy as np
import matplotlib.pyplot as plt
#图片数据的读取
read=plt.imread('D:/1.JPG')
plt.imshow(read)
read_1=read[::-1,::-1,::-1]#依次为行反转,列反转,颜色反转
plt.imshow(read_1)
#变形
arr=np.array([[1,2,3],[4,5,6]])
print(arr)
np.shape(arr)
arr_1=arr.reshape((1,6))
print(arr_1)
[[1 2 3]
[4 5 6]]
[[1 2 3 4 5 6]]
#级联操作
read_pin=np.concatenate((read,read,read),axis=1)
read_jiu=np.concatenate((read_pin,read_pin,read_pin),axis=0)
plt.imshow(read_jiu)
np.shape(read_jiu)
import numpy as np
arr=np.random.randint(0,100,(4,3))
arr_1=np.random.randint(0,100,(4,3))
print(arr)
arr.sum()#所有的数加起来
arr.sum(axis=1)#列方向拼接
#min max mean(平均)同理,此为常见
#NUMPY常见三角函数 sin cos tan
print(np.sin(arr))
#四舍五入函数
np.around(arr,decimals=0)#第一位为数组,第二个为保留到几位数,若负数则为整数部分
#numpy的常见统计 amin amax ptp std var
import numpy as np
arr=np.random.randint(0,50,(5,5))
print(arr)
np.amax(arr,axis=0)
#amin 同理
np.ptp(arr,axis=1)#求极差
np.std(arr,axis=0)
np.var(arr)
#矩阵相关
import numpy.matlib as mat
mat.empty((5,5))#产生一个随机矩阵
'''matrix([[430.9776, 315.4176, 332.6976, 473.4976, 104.8576],
[370.1776, 17.9776, 217.8576, 45.6976, 95.2576],
[297.2176, 126.3376, 138.2976, 7.6176, 104.8576],
[494.6176, 162.8176, 370.1776, 52.4176, 22.6576],
[175.2976, 189.3376, 637.0576, 315.4176, 518.0176]])
此为返回值'''
mat.zeros((5,4))#返回一个0矩阵,若为ones则为1矩阵
'''matrix([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
'''
#返回一个单位矩阵
mat.eye(n=5,M=5,k=0) #需要n=M ,k=0
#另一种方法
mat.identity(n=5)
'''
matrix([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
'''
#转置矩阵
a=mat.empty((4,4))
print(a)
b=a.T
print(b)
'''
[[4.67296746e-307 1.78019082e-306 9.79107872e-307 1.78021527e-306]
[1.69121096e-306 8.34441742e-308 6.89807188e-307 8.34454050e-308]
[1.29061074e-306 1.78022342e-306 7.56594375e-307 1.11261027e-306]
[1.69119873e-306 6.23058028e-307 6.23060065e-307 2.04712907e-306]]
[[4.67296746e-307 1.69121096e-306 1.29061074e-306 1.69119873e-306]
[1.78019082e-306 8.34441742e-308 1.78022342e-306 6.23058028e-307]
[9.79107872e-307 6.89807188e-307 7.56594375e-307 6.23060065e-307]
[1.78021527e-306 8.34454050e-308 1.11261027e-306 2.04712907e-306]]
'''
c=a*b+a
print(c)#矩阵的运算 与数值相似
'''[[4.67296746e-307 1.78019082e-306 9.79107872e-307 1.78021527e-306]
[1.69121096e-306 8.34441742e-308 6.89807188e-307 8.34454050e-308]
[1.29061074e-306 1.78022342e-306 7.56594375e-307 1.11261027e-306]
[1.69119873e-306 6.23058028e-307 6.23060065e-307 2.04712907e-306]]'''