关于Numpy的基本用法_01

import numpy as np
'''
--------------------------------------------
'''
array = np.array([[1, 2, 3], [2, 3, 4]])
# 将二维列表转化为二维数组(矩阵)
print("number of dim:", array.ndim)
# array.ndim --表示数组维数
print("shape:", array.shape)
# array.shape  --数组行列数
print("size:", array.size)
# array.size ---数组大小
'''
--------------------------------------------
'''
# array 定义参数
a = np.array([2, 4, 6], dtype=np.int16)
print(a.dtype)
# dtype 定义创建时候数组中元素的数据类型,np.int ,np.int16 np.int32, np.int64, np.float np.float32 ....
a = np.array([[1, 2, 3],
              [4, 5, 6]])
# 生成矩阵
a = np.zeros((3, 4, 5))
# 生成全部为0的矩阵,后面使用元组数据类型输入行列数
a = np.ones((1, 2))
# 生成全部为1的矩阵
a = np.empty((3, 4))
# 生成接近于什么都没有的矩阵,但是其中存储的是十分小的值
a = np.arange(10, 20, 2)
# 生成有序数列,arange()与range()使用方法类似
a = np.arange(15, 27, 1).reshape((3, 4))
# 将有序数列转化为任意维数数组
a = np.linspace(1, 10, 20)
# 生成点 从一到十均匀选取20个
a = np.linspace(1, 10, 20).reshape((4, 5))
print(a)
'''
--------------------------------------------
'''
# numpy 基础运算
b = np.array([24, 33, 96])
c = np.arange(3)
d = b-c

# 减法
d = c**2
# 平方
d = 10*np.sin(b)
# 利用函数 将b的值求sin之后乘10
print(b > 77)
# 判断b中元素那些是大于77的,返回一个布尔型列表
a = np.array([[1, 2],
              [2, 3]])
b = np.arange(4).reshape((2, 2))
c = a*b
# 逐个相乘,将矩阵中对应位置相乘 如a[0][0]与b[0][0]相乘,a[0][1]与b[0][1]相乘,...
c_dot = np.dot(a, b)
# 等价形式 因为a本来就是应该np类型
c_dot_equal = a.dot(b)
# 等价形式
# np.matmul(a, b)
# 矩阵相乘
a = np.random.random((2, 4))
# 随机从0,1选取数值中生成一个二行四列的矩阵
# numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。
# numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。
# numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。

np.min(a)
np.max(a)
np.sum(a)
# 等价形式
a.min()
a.max()
a.sum()
# 求最小值,最大值,和 函数
np.min(a, axis=0)
# axis为0表示在纵向中寻找最小值,axis为1表示在横向中寻找最小值
a = np.arange(14, 2,-1).reshape(3, 4)
np.argmin(a)
np.argmax(a)
# 返回最小值,最大值的索引
np.mean(a, axis=0)
# axis为0表示在列中计算平均值,axis为1表示在行中计算平均值
np.average(a)

# 计算a平均值
np.median(a)
# 计算中位数
print(np.cumsum(a))
# 返回一个列表,列表元素分别是矩阵元素中第一个的值,前两个和的值,前三个和的值...
'''
结果如下
[ 2  5  9 14 20 27 35 44 54 65 77 90]
'''
print(np.diff(a))
# 返回一个列表,列表元素分别是矩阵元素前两个差的值,第二个与第三个的差,第三个与第四个的差...
'''
结果如下:
[[1 1 1]
 [1 1 1]
 [1 1 1]]
'''
print(np.nonzero(a))
# 返回非零值的行数与列数
'''
结果
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int64), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int64))
'''
np.sort(a)
# 排序
np.transpose(a)
a.T
print(a.T)
# 矩阵转置
a = np.array([[1, 2], [3, 4]])  # 初始化一个非奇异矩阵(数组)
print(np.linalg.inv(a))  # 对应于MATLAB中 inv() 函数
# 可逆矩阵求逆
A = np.zeros((4, 4))
A[0, -1] = 1
A[-1, 0] = -1
print(A)
print(np.linalg.pinv(a))
# 不可逆矩阵求伪逆
a = np.arange(14, 2,-1).reshape(3, 4)
print(np.clip(a, 3, 5))
# 让a数组当中所有小于三的数都等于3所有大于五的数都等于五
'''
结果如下:
[[5 5 5 5]
 [5 5 5 5]
 [5 5 4 3]]
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值