一辈子的思念 发表于 2024-5-7 19:49:18

NumPy 数组切片及数据类型介绍

NumPy 数组切片

NumPy 数组切片用于从数组中提取子集。它类似于 Python 中的列表切片,但支持多维数组。
一维数组切片

要从一维数组中提取子集,可以使用方括号 [] 并指定切片。切片由起始索引、结束索引和可选步长组成,用冒号 : 分隔。
语法:
arr

[*]start:起始索引(默认为 0)。
[*]end:结束索引(不包括)。
[*]step:步长(默认为 1)。
示例:
import numpy as np

# 创建一维数组
arr = np.array()

# 从第二个元素到第五个元素(不包括)
print(arr)# 输出:array()

# 从头到尾,每隔一个元素
print(arr[::2])# 输出:array()

# 从倒数第三个元素到倒数第一个元素
print(arr[-3:-1])# 输出:array()二维数组切片

要从二维数组中提取子集,可以使用逗号分隔的两个索引,每个索引表示相应维度的切片。
语法:
arr

[*]start_row:起始行索引(默认为 0)。
[*]end_row:结束行索引(不包括)。
[*]start_col:起始列索引(默认为 0)。
[*]end_col:结束列索引(不包括)。
[*]step:步长(默认为 1)。
示例:
import numpy as np

# 创建二维数组
arr = np.array([, , ])

# 从第二行到第三行,第一列到第三列(不包括)
print(arr)# 输出:array([, ])

# 从第一行到第三行,每隔一列
print(arr[::2, :])# 输出:array([, ])

# 从第一行到第三行,第二列
print(arr[:, 1])# 输出:array()练习

创建一个 5x5 的二维数组 arr,并打印以下子集:

[*]第一行的所有元素
[*]第二列的所有元素
[*]从左上角到右下角的对角线元素
[*]2x2 的子数组,从第二行第三列开始
在评论中分享您的代码和输出。
Sure, here is the requested Markdown formatted content:
NumPy 数据类型

NumPy 数组由同类型元素组成,并具有指定的数据类型。数据类型定义了数组中元素的存储方式和允许的操作。
NumPy 中的数据类型

NumPy 具有比 Python 更丰富的基本数据类型,并使用首字母大写字符来表示它们:

[*]i: 整数(int)
[*]b: 布尔值(bool)
[*]u: 无符号整数(unsigned int)
[*]f: 浮点数(float)
[*]c: 复数浮点数(complex float)
[*]m: 时间差(timedelta)
[*]M: 日期时间(datetime)
[*]O: 对象(object)
[*]S: 字符串(string)
[*]U: Unicode 字符串(unicode string)
[*]V: 可变长度字节(void)
检查数组的数据类型

NumPy 数组具有一个属性 dtype,用于获取数组元素的数据类型。
import numpy as np

arr = np.array()
print(arr.dtype)输出:
int32使用指定数据类型创建数组

我们可以使用 np.array() 函数并指定 dtype 参数来创建具有指定数据类型的数组。
import numpy as np

arr = np.array(, dtype='float64')
print(arr)
print(arr.dtype)输出:

float64转换数组的数据类型

我们可以使用 astype() 方法转换现有数组的数据类型。
import numpy as np

arr = np.array()
new_arr = arr.astype(int)
print(new_arr)
print(new_arr.dtype)输出:

int32NumPy 数据类型简表

数据类型字符描述整数i有符号整数布尔值bTrue 或 False无符号整数u无符号整数浮点数f固定长度浮点数复数浮点数c复数浮点数时间差m时间间隔日期时间M日期和时间对象OPython 对象字符串S固定长度字符串Unicode 字符串U可变长度 Unicode 字符串可变长度字节V用于其他类型的固定内存块练习

创建以下 NumPy 数组,并打印它们的元素和数据类型:

[*]一个包含 10 个随机整数的数组。
[*]一个包含 5 个布尔值的数组。
[*]一个包含 7 个复杂数的数组。
[*]一个包含 10 个日期时间对象的数组。
在评论中分享您的代码和输出。
最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注

来源:https://www.cnblogs.com/xiaowange/p/18178304
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: NumPy 数组切片及数据类型介绍