python-numpy模块学习-常用语法(一)

import numpy as np
import matplotlib.pyplot as plt
img_arr = plt.imread('./1.jpeg')

# 显示图片
plt.imshow(img_arr)

# 图片调整颜色-100
arr = arr - 100
plt.imshow(arr)

# 显示图片角度  像素 像素 颜色 (700, 700, 3)
arr.shape

# 数组角度反转 [行,列,颜色]
plt.imshow(arr[::-1,::-1,:])

# 图片裁剪
plt.imshow(arr[200:600,200:600,:])

# 变形操作
# 级联图片
arr_img_3 = np.concatenate((img_arr,img_arr,img_arr),axis=1)
arr_img_3 = np.concatenate((arr_img_3,arr_img_3,arr_img_3),axis=0)
plt.imshow(arr_img_3)

# 返回一个3行4列数组
np.ones(shape=(3,4))

# 返回一维的等差数列的数组
np.linspace(0,100,num=20)


# 返回1维的等差数列
np.arange(10,50,step=2)

# 返回1维的等差数列
np.arange(10,50,step=2)

# 返回5行6列的数组 数值在0-100的随机数
arr = np.random.randint(0,100,size=(5,6))

# 返回一个数组的形状  (5, 6)
arr.shape

# 返回一个数组的维度 2   2:二维 3:三维
arr.ndim

# 返回的数组里元素的类型 dtype('int32')
arr.dtype

# 查看数组的类型 numpy.ndarray
type(arr)

# 生成一个数组 看里面元素类型
arr = np.array([1,2,3])


# 创建一个数组 执行元素类型为 int32
arr=np.array([1,2,3],dtype='int32')

# 修改数组里元素类型  无符号8位
arr.dtype='uint8'

# 随机生成1-100,5行6列的数组
arr = np.random.randint(1,100,size=(5,6))

# 取第1行数据
arr[0]

# 取第2 4 5行数据
arr[[1,3,4]]

# 切片操作 切出arr数组的前2行数据
arr[0:2,]

# 切片操作 切出arr数组中前2列数据
arr[:,0:2]

# 切片操作 切出arr数组 前3行 后2列数组
# [起始行:结束行(包头不包尾),起始列:结束列(包头不包尾)]
arr[0:3,3:-1]

# 数组反转 行数据反转
arr[::-1,]

# 数组反转 列数据反转
arr[:,::-1]

# 数组反转 行列一起反转
arr[::-1,::-1]

# 将二维数组变成一维
arr.reshape((arr.size,))

# 将一维数组变成多维
arr_1 = arr.reshape((arr.size,))
row_num = 6
size = int(arr_1.size/row_num)
arr_1.reshape((row_num,size))

# 级联操作 axis: 0.竖向 1.横向
# np.concatenate((arr,arr),axis=1)

# 常用聚合操作 sum(之和),max(最大值),min(最小值),mean()  , axis: 0.竖向 1.横向
arr.sum(axis=1) # arr 横向之和
arr.max(axis=1) # arr 横向最大值
arr.min(axis=0) # arr 竖向最小值
arr.mean(axis=0) # arr 竖向平均值

# 数学函数 sin() cos() tan() around(a,保留小数位) 四舍五入
np.sin(2)
np.cos(2)
np.tan(2)
np.around(2.1355,3) # 2.136

# 统计函数
arr_2 = [1,5,7,45,9,8]
np.amin(arr_2) # 最小 1
np.amax(arr_2) # 最小 45
np.ptp(arr_2) # 最小最大值相差值 45-1=44
np.median(arr_2) # 数组中最中间2个值的平均值 7.5
mean = np.mean(arr_2)
# 所有数减去其平均值的平方和,所得结果除以该组数之个数(或个数减一,即变异数),
# 再把所得值开根号,所得之数就是这组数据的标准差。
# 平均值为12.5 ,和为75,
sum = 0
for i in arr_2: sum+= (i-mean)**2
std = sum/5 # 样本标准偏差的方差 [(x1 - 平均数)^2 + (x2 - 平均数)^2 + (x3 - 平均数)^2 + ... + (xn - 平均数)^2 ] / [n - 1]
var = sum/6 # 总体标准偏差的方差  [(x1 - 平均数)^2 + (x2 - 平均数)^2 + (x3 - 平均数)^2 + ... + (xn - 平均数)^2 ] / n
np_std = np.std(arr_2) # 总体标准偏差: 14.762
np_var = np.var(arr_2) # 总体标准偏差的方差
print('总组数 %s' % len(arr_2))
print('平均数 %s' % mean)
print('总体标准偏差 %s' % np_std)
print('样本标准偏差的方差 %s' % std)
print('总体标准偏差的方差 %s %s' % (np_var,var))

# 矩阵相关
np.eye(6) # 返回一个标准的单位矩阵

# 行列反转
arr.T

# 矩阵相乘
# 矩阵a.行1-1 * 矩阵b.列1-1 + 矩阵a.行1-2 * 矩阵b.列2-1 = 结果矩阵c.行1-1
# 矩阵a.行1-1 * 矩阵b.列1-2 + 矩阵a.行1-2 * 矩阵b.列2-2 = 结果矩阵c.行1-2
# 矩阵a.行2-1 * 矩阵b.列1-1 + 矩阵a.行2-2 * 矩阵b.列2-1 = 结果矩阵c.行2-1
# 矩阵a.行2-1 * 矩阵b.列1-2 + 矩阵a.行2-2 * 矩阵b.列2-2 = 结果矩阵c.行2-2
a1 = np.array([[2,1],[4,3]])
a2 = np.array([[1,2],[1,0]])
np.dot(a1,a2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值