1.下载Numpy第三方库
pip install numpy
2.导入第三方库
import numpy as np
3.一些基本操作
import numpy as np
num1=np.array([1,2,3,4,5])#创建数组
print(num1)
num2=np.zeros((3,2))#创建全零数组
print(num2)
print(num2.shape)#打印数组尺寸
num3=np.ones((2,4))#创建全一数组
print(num3)
num4=np.arange(3,7)#创建一个递增或者递减的数列
print(num4)
num5=np.linspace(0,1,5)#返回指定区间内的数
print(num5)
num6=np.random.rand(2,4)#生成随机数组
print(num6)
num7=np.zeros((4,2))
print(num7.dtype)#在numpy中数组默认的数据类型为float64
num8=np.zeros((2,4),dtype=np.int32)#可以指定其他数据类型
num9=num8.astype(int)
print(num9)
4.数组的运算
a1=np.array([1,2,3])
a2=np.array([4,5,6])
b1=a1+a2
b2=a1*a2
print(b1)#[5 7 9]
print(b2)#[4 10 18]
b3=np.dot(a1,a2)
print(b3)#32
5.矩阵的运算
c1=np.array([[1,2],
[3,4]])
c2=np.array([[2,1],
[4,3]])
d1=np.matmul(c1,c2)# d1=c1@c2也可以表示相乘
print(d1)
#输出的结果是[[10 7]
[22 15]]
#解析:
# 对于输出矩阵的第 i 行第 j 列的元素 d1[i][j],它是通过将矩阵 c1 的第 i 行与矩阵 c2 的第 j 列进行对应位置的元素相乘,并将乘积相加得到的。
# 例如,矩阵 c1 和 c2 的乘法结果 d1 的计算如下:
# d1[0][0] = c1[0][0]c2[0][0] + c1[0][1]c2[1][0] = 12 + 24 = 10
# d1[0][1] = c1[0][0]c2[0][1] + c1[0][1]c2[1][1] = 11 + 23 = 7
# d1[1][0] = c1[1][0]c2[0][0] + c1[1][1]c2[1][0] = 32 + 44 = 22
# d1[1][1] = c1[1][0]c2[0][1] + c1[1][1]c2[1][1] = 31 + 43 = 15
6.其他的一些运算操作
c3=np.array([1,2,3])
d3=np.sqrt(c3)#开方
print(d3)
c4=np.array([1,2,3])
d4=np.sin(c4)#求三角函数的值
d5=np.cos(c4)
print(d4)
print(d5)
d6=np.log(c4)#进行对数运算
d7=np.power(c4,2)#进行指数运算
print(d6)
print(d7)
e1=np.max(c4)#取最大值
e2=np.min(c4)
e3=np.argmax(c4)#取最大值下标
e4=np.argmin(c4)
print(e1)
print(e2)
print(e3)
print(e4)
f1=np.sum(c4)#求和
f2=np.mean(c4)#平均数
f3=np.median(c4)#中位数
f4=np.var(c4)#方差
f5=np.std(c4)#标准差
print(f1)
print(f2)
print(f3)
print(f4)
print(f5)
7.广播的两种常见操作
d8=c4*2
print(d8)
c5=np.array([[1],
[2],
[3]])
d9=c4+c5
print(d9)
8.多维数组
z1=np.array([[1,2,3,4,5],
[5,6,7,8,9]])
g1=z1.sum(axis=0)
g2=z1.sum(axis=1)
print(g1)#[ 6 8 10 12 14]
print(g2)#[15 35]
# axis=0表示第一个维度,也就是行
# axis=1表示第二个维度,也就是列
9.取值
z1=np.array([[1,2,3,4,5],
[5,6,7,8,9]])
z2=np.arange(10)
print(z2) #[0 1 2 3 4 5 6 7 8 9]
print(z2[z2<3]) #[0 1 2]
print(z2[(z2<5)&(z2%2==0)]) #[0 2 4]
# 切片
print(z1[0,0:2]) #[1 2]
print(z1[0]) #[1 2 3 4 5]
print(z2[0:9:2]) #[0 2 4 6 8]
print(z2[::-1]) #[9 8 7 6 5 4 3 2 1 0]
10.图片处理
#打开图像
import numpy as np
import PillowImage
from PIL import Image
im1=Image.open("C:/Users/31994/Pictures/Screenshots/狮子.jpeg")
im1.show()
#访问某个像素点的颜色
im1=np.array(im1)
print(im1.shape)
print(im1[100,100])
#单独提取所有像素点的红色分量
im1_r=im1[:,:,0]
Image.fromarray(im1_r).show()
#重叠两张图片
im2=Image.open("C:/Users/31994/Pictures/Screenshots/熊猫.jpeg")
im1=np.array(im1)
im2=np.array(im2)
im_blend=im1 * 0.4 + im2 * 0.6
im_blend=im_blend.astype(np.uint8)
Image.fromarray(im_blend).show()
# 翻转照片
im3=Image.open("C:/Users/31994/Pictures/Screenshots/w700d1q75cms.jpg")
im3=np.array(im3)
im3_flipped=im3[::-1,:,:]
Image.fromarray(im3_flipped).show()
#摘取该照片区域内的图像
im3_cropped=im3[40:540,400:900,:]
Image.fromarray(im3_cropped).show()
标签:Python,print,c1,np,c2,array,Numpy,第三方,c4
From: https://blog.csdn.net/XAX520_1314/article/details/137064406