Numpy章节 3 高级功能

章节 3: 高级功能

1. 数组的迭代和排序

NumPy提供了迭代数组元素的方法,并且可以对数组进行排序。

示例代码:


arr = np.array([3, 1, 5, 2, 4])

# 迭代数组元素
for x in arr:
    print(x)
# 输出:
# 3
# 1
# 5
# 2
# 4

# 对数组进行排序
sorted_arr = np.sort(arr)
print(sorted_arr)
# 输出: [1 2 3 4 5]

2. 数组的复制和视图

在NumPy中,复制数组可以通过copy()函数来实现。同时,数组的切片也可以创建原数组的视图。

示例代码:


arr = np.array([1, 2, 3, 4, 5])

# 复制数组
copied_arr = arr.copy()
print(copied_arr)
# 输出: [1 2 3 4 5]

# 创建数组的视图
view_arr = arr[1:4]
print(view_arr)
# 输出: [2 3 4]

3. 结构化数组和记录数组

NumPy支持创建结构化数组和记录数组,用于存储和操作复杂的数据结构。

示例代码:


# 创建结构化数组
person_data = np.array([('John', 28, 180),
                       ('Alice', 32, 165),
                       ('Bob', 24, 175)],
                      dtype=[('name', 'S10'), ('age', int), ('height', float)])

print(person_data)
# 输出:
# [(b'John', 28, 180.) (b'Alice', 32, 165.) (b'Bob', 24, 175.)]

# 访问结构化数组的字段
print(person_data['name'])
# 输出: [b'John' b'Alice' b'Bob']

# 创建记录数组
record_arr = person_data.view(np.recarray)
print(record_arr.age)
# 输出: [28 32 24]

4. 多维索引和布尔索引

在NumPy中,可以使用多维索引和布尔索引来访问和修改多维数组中的元素。

示例代码:



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

# 多维索引
print(arr[0, 2])
# 输出: 3

# 切片和多维索引
print(arr[1:, [0, 2]])
# 输出:
# [[4 6]
#  [7 9]]

# 布尔索引
bool_arr = arr > 5
print(arr[bool_arr])
# 输出: [6 7 8 9]

5. 文件的读取和写入

NumPy可以方便地读取和写入数组数据到文件中。

示例代码:



# 从文件中读取数组
read_arr = np.loadtxt('data.txt')
print(read_arr)

# 将数组写入文件
write_arr = np.array([[1, 2, 3],
                      [4, 5, 6],
                      [7, 8, 9]])

np.savetxt('output.txt', write_arr)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值