当前位置:首页 > Python > 正文内容

[Python 教程] NumPy 数组操作详解

admin7个月前 (03-18)Python262

NumPy 数组操作详解

NumPy 是 Python 科学计算的基础库,提供高性能的多维数组对象。本文详细介绍 NumPy 数组的核心操作。

一、创建数组

import numpy as np

# 从列表创建
arr = np.array([1, 2, 3, 4, 5])

# 创建二维数组
arr2d = np.array([[1, 2], [3, 4]])

# 创建全 0 数组
zeros = np.zeros((3, 4))

# 创建全 1 数组
ones = np.ones((2, 3))

# 创建等差数列
range_arr = np.arange(0, 10, 2)  # [0, 2, 4, 6, 8]

# 创建均匀分布
linspace = np.linspace(0, 1, 5)  # [0, 0.25, 0.5, 0.75, 1]

二、数组属性

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

print(arr.shape)    # (2, 3) - 形状
print(arr.ndim)     # 2 - 维度
print(arr.size)     # 6 - 元素总数
print(arr.dtype)    # int64 - 数据类型

三、数组索引与切片

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

# 基本索引
print(arr[0])    # 1
print(arr[-1])   # 5

# 切片
print(arr[1:4])  # [2, 3, 4]
print(arr[::2])  # [1, 3, 5]

# 二维数组索引
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2d[0, 1])    # 2
print(arr2d[:, 1])    # [2, 5] - 第二列

四、数组运算

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 加法
print(arr1 + arr2)  # [5, 7, 9]

# 乘法
print(arr1 * arr2)  # [4, 10, 18]

# 点积
print(np.dot(arr1, arr2))  # 32

# 广播
print(arr1 + 10)  # [11, 12, 13]

五、常用函数

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

print(np.sum(arr))      # 15 - 求和
print(np.mean(arr))     # 3.0 - 平均值
print(np.std(arr))      # 标准差
print(np.max(arr))      # 5 - 最大值
print(np.min(arr))      # 1 - 最小值
print(np.argmax(arr))   # 4 - 最大值索引
print(np.sort(arr))     # 排序

六、数组变形

arr = np.arange(12)

# 重塑
reshaped = arr.reshape(3, 4)

# 展平
flattened = reshaped.flatten()

# 转置
transposed = reshaped.T

# 合并
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
concatenated = np.concatenate([arr1, arr2])

相关文章

Python 装饰器:从入门到实战的完整指南

装饰器(Decorator)是 Python中一种优雅的设计模式,它允许我们在不修改原函数代码的前提下,动态地添加功能。想象一下,你有一个已经写好的函数,现在需要为它添加日志记录、性能监控、权限验证等...

Python 装饰器完全指南:从入门到实战

装饰器本质上是一个接受函数作为参数并返回新函数的高阶函数。理解这一点是掌握装饰器的关键。想象一下,你有一个函数,你想在它执行前后添加一些额外的逻辑,比如日志记录、性能测试、权限验证等。装饰器就是为这种...

Python 装饰器从入门到实战:5 个实用场景详解

装饰器(Decorator)是 Python 中一种优雅的设计模式,它允许我们在不修改原函数代码的前提下,动态地给函数添加功能。想象一下,你有一个已经写好的函数,现在想给它添加日志记录、性能监控或权限...

Python 异步编程实战:从入门到精通

在 Python 开发中,我们经常会遇到需要同时处理多个 I/O 操作的场景。比如同时向多个 API 发送请求、批量下载文件、或者处理实时数据流。传统的同步方式会阻塞主线程,导致性能瓶颈。而异步编程通...

Python 类型注解完整指南与最佳实践

引言 随着 Python 项目的规模增长,代码的可维护性和类型安全性变得越来越重要。Python 3.5 引入了类型注解(Type Hints)机制,允许开发者在代码中标注变量和函数的类型信息。虽然...

Python 元类深度解析:掌控类的创建之道

元类是 Python 中最强大但最容易被误用的特性之一。简而言之,元类是"创建类的类"。正如类定义了对象的创建方式,元类定义了类的创建方式。本文将深入解析元类的工作原理、应用场景以及在实际开发中的最...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。