numpy中的关于计算的一些函数

数学函数

import numpy as np

# 三角函数:sin(),cos(),tan()
print(np.sin(30 * np.pi / 180))
print(np.cos(30 * np.pi / 180))
print(np.tan(30 * np.pi / 180))

# 舍入函数
a = np.array([1.11, 2.44, 3.66, 4.88])
#四舍五入around()
print(np.around(a, decimals=1))
#向下取整floor()
print(np.floor(a))
#向上取整ceil()
print(np.ceil(a))

算术函数

import numpy as np
#算术函数:加:add() 减:subtract() 乘:multiply()  除:divide()
a=np.array([2,5,6],dtype=float)
b=np.array([7,3,9])
print(np.add(a,b))
print(np.subtract(a,b))
print(np.multiply(a,b))
print(np.divide(a,b))

#返回倒数reciprocal()
print(np.reciprocal(a))

#power()计算一个数值的整数次幂。这个函数接受两个参数:底数和指数,返回底数的指数次幂的结果。
print(np.power(a,2))

#mod()取模
print(np.power(a,b))

副本与视图

  1. 副本(Copy)

    • 当你创建一个数组的副本时,你会得到一个新的数组对象,它有自己的内存空间。对副本的修改不会影响到原始数组。
    • 副本可以用来进行数据的备份,或者在不改变原始数据的情况下进行数据操作。
  2. 视图(View)

    • 视图是原始数组的一个引用,它与原始数组共享相同的内存空间。因此,对视图的修改会反映在原始数组上。
    • 视图通常用于高效地访问数组的一部分,而不需要复制数据。

 

import numpy as np
a = np.array([1, 22, 333, 4444, 55555, 666666])
#浅拷贝
b = a.view()
print(a)
print(b)
b[0]=111
print(a)
print(b)
#深拷贝
print("----------")
c = a.copy()
print(a)
print(c)
c[0]=1
print(a)
print(c)

运行结果:

[     1     22    333   4444  55555 666666]
[     1     22    333   4444  55555 666666]
[   111     22    333   4444  55555 666666]
[   111     22    333   4444  55555 666666]
----------
[   111     22    333   4444  55555 666666]
[   111     22    333   4444  55555 666666]
[   111     22    333   4444  55555 666666]
[     1     22    333   4444  55555 666666]

 矩阵

#矩阵
#转置矩阵
a = np.arange(15).reshape(3,5)
print(a)
print(a.T)
#matlib.empty()返回一个新的矩阵,填充随机数
b = np.matlib.empty((3,3),dtype=int)
print(b)
#numpy.zeros()返回全0矩阵,ones()全1,eye(n, M,k, dtype)对角线1
print(np.eye(3,4,k=1,dtype=int))
#identity(),返回单位矩阵
print(np.identity(3))
#numpy.random.rand()随机填充数据
print(np.random.rand(4,3))

线性代数

# 线性代数

a = np.arange(4).reshape(2, 2)
b = np.arange(15).reshape(5, 3)
c = np.arange(10).reshape(2, 5)
print(a, b, c, sep="\n--------\n")
# dot()两个数组的点积
print(np.dot(a, c))
# vdot()两个向量的点积,对应位置相乘的和
print(np.vdot(a, a.T))
# inner()两个数组的内积,只适用于一维数组,如果是高维只对数组的最后一个轴进行操作。
print(np.inner(a, a.T))
# matmul()返回两个数组的矩阵乘积
print(np.matmul(a, c))
# linalg.det()矩阵的行列式
print(np.linalg.det(a))
# linalg.solve()线性方程的解
print(np.linalg.solve(a, c))
# linalg.inv()矩阵的乘法逆矩阵
print(np.linalg.inv(a))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值