使用numpy进行生成数组、数组运算、数组元素访问、矩阵转置、矩阵不同维度上元素的均值计算、矩阵不同维度上元素的排序、计算数据的标准差和方差、产生正态分布随机数的二维数组等操作。

具体语句被我封装为注释,可通过该程序简单了解 numpy 模块
若无法运行,可检查是否安装 numpy 模块

import numpy
"""
print(numpy.random.rand(10, 5))  # 生成十行五列的二维数组,取值范围(0, 1)
print(numpy.random.randn(5))  # 生成一维的正态分布随机数
print(numpy.random.randn(2, 5))  # 生成二维的正态分布随机数
print(numpy.random.randn(3, 5))  # 生成多维的正态分布随机数
print(numpy.random.randint(2, 10, size=[2, 5]))
# 生成给定上下范围的随机数,创建一个 2 <= 元素 < 10 的2行5列二维数组。
print(numpy.arange(0, 10, 1))  # 创建一个数组,从0开始,小于10,步长为1。
print(numpy.linspace(0, 3, 13))  # 创建一个数组,取值范围为[0, 3],且均匀分为13-1等分
"""

"""
print(numpy.zeros((2, 3)))  # 创建一个二行三列的二维数组,元素全为0。
print(numpy.ones((5, 3)))  # 创建一个五行三列的二维数组,元素全为1。
print(numpy.eye(5))  # 创建一个五行五列的单位数组。对角线为1,其余为0。
print(numpy.diag([1, 2, 3, 4]))  # 创建一个主对角线分别为 1,2,3,4的数组,其余元素为0
"""

"""
arr = numpy.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
print(arr)
print(arr[0, 3])  # 索引第0行第3列的元素,类比数组
print(arr[0:3:2, 2:5:2])  # 取值可类比插片
"""

"""
brr = numpy.arange(12)
print(brr.reshape(3, 4))  # 设置数组形状,三行四列。
brr.shape = 3, 4  # 可直接修改形状
print(brr)
brr.shape = 4, -1  # -1 代表自动计算
print(brr)
print(brr.ravel())  # 展平
print(brr.flatten())  # 横向展平
print(brr.flatten('F'))  # 纵向展平
"""

"""
brr = numpy.arange(12)
brr_2 = brr * 3  # 数组元素集体*3
print(brr_2)
print(numpy.hstack((brr, brr_2)))  # 横向组合,由两个三行四列的数组组合为三行八列的数组
print(numpy.vstack((brr, brr_2)))  # 纵向组合,由两个三行四列的数组组合为六行四列的数组
print(numpy.concatenate((brr, brr_2), axis=1))  # concatenate函数横向组合
print(numpy.concatenate((brr, brr_2), axis=0))  # concatenate函数纵向组合
"""

"""
arr = numpy.arange(12).reshape(4, 3)
print(arr)
print(numpy.hsplit(arr, 3))  # hsplit 函数横向分割(类比横向组合)
print(numpy.vsplit(arr, 2))  # vsplit 函数纵向分割(类比纵向组合)
arr_1, arr_2 = numpy.vsplit(arr, 2)
print(arr_1)
print(arr_2)
print(numpy.split(arr, 3, axis=1))  # split 函数横向分割
print(numpy.split(arr, 2, axis=0))  # split 函数纵向分割
"""

"""
mat_1 = numpy.mat("1 2 3;4 5 6;7 8 9")  # 使用分号隔开数据,创建矩阵
print(mat_1)
mat_2 = numpy.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(mat_2)
arr1 = numpy.eye(3)
arr2 = 3 * arr1
print('创建的矩阵为:\n', numpy.bmat("arr1 arr2; arr1 arr2"))  
print('创建的矩阵为:\n', numpy.bmat("arr1 arr2"))  # 类比于横向组合
print('创建的矩阵为:\n', numpy.bmat("arr1; arr2"))  # 类比于纵向组合
"""

"""
mat_1 = numpy.mat("1 2 3;4 5 6;7 8 9")
print('创建的矩阵1为:\n', mat_1)
mat_2 = mat_1 * 3
print('创建的矩阵2为:\n', mat_2)
mat_3 = numpy.mat("1 2 3;5 5 7;7 2 9")
print('创建的矩阵3为:\n', mat_3)
print('矩阵1的转置矩阵为:\n', mat_1.T)  # 矩阵转置
print('矩阵3的逆矩阵为:\n', mat_3.I)  # 矩阵的逆
print('矩阵相加结果为:\n', mat_1 + mat_2)  # 矩阵相加
print('矩阵相减结果为:\n', mat_1 - mat_2)  # 矩阵相减
print('矩阵相乘结果为:\n', mat_1 * mat_2)  # 矩阵相乘
print("矩阵点乘结果为:\n", numpy.dot(mat_1, mat_2))  # 矩阵点乘
print('矩阵对应元素相乘结果为:\n', numpy.multiply(mat_1, mat_2))
"""

"""
# 四则运算
x = numpy.array([1, 2, 3])
y = numpy.array([4, 5, 6])
print('数组相加结果为:', x + y)  # 数组相加
print('数组相减结果为:', x - y)  # 数组相减
print('数组相乘结果为:', x * y)  # 数组相乘
print('数组相除结果为:', x / y)  # 数组相除
print('数组幂运算结果为:', x ** y)  # 数组幂运算

# 比较运算
x = numpy.array([1, 3, 5])
y = numpy.array([2, 3, 4])
print('数组比较结果为:', x < y)
print('数组比较结果为:', x > y)
print('数组比较结果为:', x == y)
print('数组比较结果为:', x >= y)
print('数组比较结果为:', x <= y)
print('数组比较结果为:', x != y)

# 逻辑运算
print('数组逻辑运算结果为:', numpy.all(x == y))  # np.all()表示逻辑and
print('数组逻辑运算结果为:', numpy.any(x == y))  # np.any()表示逻辑or

print(x[x>2]) # 取出 x 中大于 2 的元素
"""

"""
b = numpy.array(([1, 2, 3], [4, 5, 6], [7, 8, 9]))
print(numpy.sin(b))  # 三角函数
print(numpy.round(numpy.sin(b)))  # 四舍五入
"""

"""
a = numpy.arange(0, 10).reshape(2, 5)
print(a)
print(numpy.sum(a))  # 数组各元素总和
print(numpy.sum(a, axis=1))  # 每行求和
print(numpy.sum(a, axis=0))  # 每列求和
print(numpy.average(a, axis=1))  # 每行求平均值
print(numpy.average(a, axis=0))  # 每列求平均值
print(numpy.std(a))  # 标准差
print(numpy.std(a, axis=1))  # 行标准差
print(numpy.std(a, axis=0))  # 列标准差
print(numpy.var(a))  # 方差
print(numpy.max(a))  # 最大值
print(numpy.max(a, axis=1))  # 行最大值
print(numpy.max(a, axis=0))  # 列最大值
a = [[0, 6, 7, 3, 4], [5, 1, 2, 9, 8]]
print(numpy.sort(a, axis=1))  # 行排序(由小到大)
print(numpy.sort(a, axis=0))  # 列排序(由小到大)
"""

"""
x = numpy.random.rand(10) * 50  # 生成一行10列数组,数组元素 * 50
print(x)
print(numpy.array([t-int(t) for t in x]))  # 获取小数部分
y = numpy.random.randint(0, 10, size=(1, 10))
print(y)
print(numpy.piecewise(y, [y < 7, y > 4], [lambda t: t * 2, lambda t: t * 3]))
# 小于7的数乘2,大于4的数乘3
"""
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值