P叔带你详解Python模块NumPy_numpy模块 python

本文详尽探讨了Python库NumPy的高级用法,包括数组操作、ufunc函数、矩阵运算和高级排序。介绍了如何使用布尔数组索引、花式索引以及连接、分割数组的方法。NumPy的ufunc函数支持元素级运算,而矩阵运算是通过函数实现的。此外,文章还阐述了数组的高级排序,如多级排序。NumPy对于科学计算和数据处理的高效性使其成为Python的重要工具。
摘要由CSDN通过智能技术生成
    1. 布尔数组索引:使用一个布尔数组作为索引,可以根据布尔数组的元素值来选择数组中的元素。
import numpy as np  
  
a = np.array([1, 2, 3, 4, 5])  
  
# 使用布尔数组索引选择大于3的元素  
mask = a > 3  
  
result = a[mask]  
  
print(result)

输出:

[4, 5]

还可以按布尔数组进行匹配

arr = np.array([1, 2, 3, 4, 5])  
mask = np.array([True, False, True, False, True])  # 选择为True的元素  
print(arr[mask])  # 输出 [1 3 5]

    1. 花式索引(Fancy indexing):使用整数数组或整数列表作为索引,可以根据指定的索引位置选择数组中的元素。
import numpy as np  
  
a = np.array([1, 2, 3, 4, 5])  
  
# 使用花式索引获取指定位置的元素  
indices = np.array([0, 2, 4])  
  
result = a[indices]  
  
print(result)

输出:

array([1, 3, 5])

多维数组的操作与此类似,如果有时间,不妨在上述例子上动手试一下,记住,如果使用负整数,索引会从末尾倒着开始哦。

4.3 数组操作

NumPy提供了一些方便的函数来操作数组,包括连接数组、分割数组、改变数组形状和交换数组维度等。

    1. 连接数组:使用np.concatenate()函数沿指定轴连接数组
import numpy as np  
  
a = np.array([[1, 2],  
              [3, 4]])  
  
b = np.array([[5, 6],  
              [7, 8]])  
  
# 沿行方向连接数组  
result = np.concatenate((a, b), axis=0)  
  
print(result)

输出:

[[1, 2]  
 [3, 4]  
 [5, 6]  
 [7, 8]]

    1. 分割数组:使用np.split()函数将数组分割为多个子数组
import numpy as np  
  
a = np.array([1, 2, 3, 4, 5])  
  
# 将数组分割为3个子数组  
result = np.array_split(a, 3)  
  
print(result)

输出:

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值