numpy的基础使用

目录

一、数组的创建

二、切片及索引的运算

三、 简单的运算

四、数学运算

 五、随机数

六、类型转换


NumPy 是一个开源的 Python 库,用于科学计算。它提供了一个高性能的多维数组对象和用于处理这些数组的工具。以下是一些 NumPy 的常用操作:

  1. 创建数组

    • np.array(): 创建一个数组。
    • np.zeros(): 创建一个元素全部为0的数组。
    • np.ones(): 创建一个元素全部为1的数组。
    • np.arange(): 创建一个序列数组。
    • np.linspace(): 创建一个在指定区间等分的数组。
  2. 数组的形状操作

    • array.shape: 查询数组形状。
    • array.reshape(): 改变数组的形状。
    • np.newaxis: 增加一个新轴。
    • np.expand_dims(): 扩展数组的形状。
    • array.flatten(): 展平数组。
  3. 数组的索引、切片和迭代

    • 使用整数数组索引。
    • 使用布尔数组索引。
    • 使用花式索引。
    • 切片操作。
  4. 数组的计算

    • 算术运算符:+-*/ 和 **
    • np.dot(): 矩阵乘法。
    • np.sum()np.prod()np.mean()np.std(): 计算总和、乘积、平均值和标准差等。
    • np.min()np.max(): 计算最小值和最大值。
  5. 广播

    • NumPy 可以在执行算术运算时自动应用广播规则。
  6. 聚合操作

    • np.sum()np.mean()np.std()np.var()np.min()np.max(): 聚合操作可以沿数组的指定轴应用。
  7. 线性代数

    • np.dot(): 矩阵乘法。
    • np.linalg.inv(): 计算矩阵的逆。
    • np.linalg.solve(): 解线性方程组。
    • np.linalg.eig(): 计算方阵的特征值和特征向量。
  8. 随机数

    • np.random.rand(): 产生指定形状的随机数组。
    • np.random.randn(): 产生标准正态分布的随机数组。
    • np.random.randint(): 产生随机整数数组。
  9. 保存和加载

    • np.save() 和 np.savez(): 保存数组到磁盘。
    • np.load(): 从磁盘加载数组。
  10. 类型转换和类型强制

    • 使用 array.astype() 转换数组的数据类型。

NumPy 是一个非常强大的库,以上只是它功能的一部分。在实际使用中,根据具体的需求,可能还会涉及到更多的函数和操作。

以下是部分代码示范:

一、数组的创建

导入

import numpy as np

数组创建的几种形式

 '''创建数组'''
    # 创建一个数组
    a = np.array([1, 2, 3])
    print(a)

    # 创建一个 2 * 2 全部为0的算法
    a = np.zeros((2,2))
    print(a)

    # 创建一个 2 * 2 全部为1的算法
    a = np.ones((2*2))
    print(a)

    # 创建1~10序列数组
    a = np.arange(10)
    print(a)

    # 1 ~ 9 步长为2
    a = np.arange(1,10,2)
    print(a)

    # 0 到 10 ,等长分成 5 份
    e = np.linspace(0, 10, 5)
    print(e)

二、切片及索引的运算

 a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    print(a)

    # 取对角线
    rows = [0,1,2]
    cols = [0,1,2]
    print(a[rows,cols])

    # 布尔索引
    c = a[a > 5]
    print(c)

    # 切片
    d = a[1:3,1:3]
    print(d)

    # 遍历数组
    for i in a:
        for j in i:
            print(j,end=' ')

三、 简单的运算

    a = np.array([1, 2, 3, 4])
    b = np.array([5, 6, 7, 8])

    # 算术运算
    c = a + b
    print(c)
    d = a * b
    print(d)

    # 矩阵乘法
    A = np.array([[1, 2], [3, 4]])
    B = np.array([[1,2],[1,1]])
    C = np.dot(A,B)
    print(C)

    # 求最大最小值
    print(a.max())
    print(a.min())
    # 求和
    sum_a = a.sum()
    print(sum_a)
    # 求平均数
    mean_a = a.mean()
    print(mean_a)

四、数学运算

    A = np.array([[1, 2], [3, 4]])
    print(A)

    # 求矩阵的逆
    ivn_A = np.linalg.inv(A)
    print(ivn_A)

    # 求A的行列式
    det_A = int(np.linalg.det(A))
    print(det_A)

    # 求A的值和特征向量
    eigenvalues, eigenvectors = np.linalg.eig(A)
    print(eigenvalues)
    print(eigenvectors)

 五、随机数

# 创建一个 2 * 2 的随机数组
    a = np.random.rand(2,2)
    print(a)

    # 产生标准正态分布的随机数组
    b = np.random.randn(2, 2)
    print(b)

    # 生成一个 3 * 3 随机浮点数
    random_number = np.random.random((3,3))
    print(random_number)

    # 创建一个0~9 的 形状为3 * 3 的随机数组
    c  = np.random.randint(0, 10, size=(3,3))
    print(c)

六、类型转换

a = np.array([1., 2.2, 3.3])

    # 转换数组的数据类型
    b = a.astype(int)  # 输出:[1 2 3]

    print(b)
    print(type(b))

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

依恋、阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值