第二十四回 王婆计啜西门庆 淫妇药鸩武大郎-Numpy索引和切片操作示例

郓哥被王婆打了,就去找武大郎。将情况一说,两人商定去抓奸。一天武大郎只做了两三扇炊饼,约好了时间,郓哥进去顶住大门不让王婆关,武大郎直接跑进去,西门庆刚开始躲到床底下,后被潘金莲提醒,直接一脚踢倒武大郎,跑了。

武大郎被踢中心口,受伤后卧床不起,潘金莲还是每天出去,武大郎就生气的说:你们小心武松回来。西门庆就去找王婆想法子,王婆出了个馊主意,让西门庆从他药店里拿砒霜,再由潘金莲喂给武大郎。

Numpy索引和切片操作示例


NumPy(Numerical Python的简称)是Python中用于处理数组和矩阵运算的一个非常强大的库。在NumPy中,索引和切片是用于访问和修改数组元素的关键特性。以下是关于NumPy索引和切片的一些主要特点:

索引(Indexing)

1. **基于0的索引**:NumPy数组的索引是从0开始的,与大多数编程语言(如Python本身)的列表和数组一样。
2. **多维索引**:对于多维数组(如矩阵),可以使用逗号分隔的索引元组来访问特定位置的元素。例如,`arr[i, j]`可以访问二维数组`arr`中第`i`行第`j`列的元素。
3. **负索引**:与Python列表一样,NumPy也支持负索引,这允许从数组的末尾开始计数。例如,`arr[-1]`将返回数组中的最后一个元素。
4. **布尔索引**:可以使用布尔数组来索引另一个数组。这在筛选满足特定条件的元素时非常有用。例如,`arr[arr > 5]`将返回数组中所有大于5的元素。

切片(Slicing)

1. **基本切片**:可以使用冒号(`:`)来指定切片的范围。例如,`arr[1:4]`将返回数组`arr`中索引为1、2和3的元素(Python中的切片是左闭右开的)。
2. **多维切片**:对于多维数组,你可以使用逗号分隔的切片元组来进行多维切片。例如,`arr[1:4, 2:5]`将返回一个二维切片。
3. **步长切片**:你可以通过指定第三个参数(步长)来控制切片中元素的间隔。例如,`arr[::2]`将返回数组`arr`中每隔一个元素的值。
4. **负数步长**:步长也可以是负数,这允许你反向遍历数组。例如,`arr[::-1]`将返回一个与原数组相反的数组。
5. **省略号(...)**:在多维数组中,可以使用省略号来表示多个冒号,从而简化切片操作。例如,`arr[..., 1]`将返回数组中每一行的第二个元素。

通过索引和切片,可以非常灵活地访问和修改NumPy数组中的元素,这对于数据分析和科学计算来说非常有用。

示例:

import numpy as np

# 创建一个示例数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 使用索引切片获取特定元素或子数组
# 例如,获取第一行的所有元素
row_1 = arr[0, :]

# 例如,获取第一列的所有元素
column_1 = arr[:, 0]

# 例如,获取一个子数组,包括第二行和第三列的元素
sub_array = arr[1:, 2:]

# 打印结果
print("第一行的元素:", row_1)
print("第一列的元素:", column_1)
print("子数组:", sub_array)

潘金莲毒杀了武大郎,对外就说是害心病死的。何九叔是负责验尸的,西门庆给了九叔十两银子,让他周全着点。何九叔心里就犯低估,却见武大郎不是正常病死,一下子晕倒了。

欲知后市如何,且听下回分解。

你可能感兴趣的:(水浒英雄学IT,numpy)