⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Python 科学计算 NumPy

学习NumPy数组的创建和基本操作 · 难度:高级 · +15XP

Python 科学计算 NumPy

NumPy(Numerical Python)是 Python 科学计算的核心库,提供了高性能的多维数组对象 ndarray 以及丰富的数学运算函数。NumPy 底层使用 C 语言实现,运算速度远快于原生 Python 列表,是数据科学、机器学习和科学计算的基础。

NumPy 的安装与导入

# 安装 NumPy
# pip install numpy

import numpy as np # 标准别名

创建数组

import numpy as np

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

# 创建特殊数组 zeros = np.zeros((3, 4)) # 全零数组 (3行4列) ones = np.ones((2, 3)) # 全一数组 eye = np.eye(3) # 单位矩阵 (3x3) arange = np.arange(0, 10, 2) # [0 2 4 6 8] linspace = np.linspace(0, 1, 5) # [0. 0.25 0.5 0.75 1.] random_arr = np.random.rand(3, 3) # 随机数组

数组属性

import numpy as np

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 - 数据类型 print(arr.itemsize) # 8 - 每个元素的字节数

数组运算

import numpy as np

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

# 逐元素运算 (向量化运算) print(a + b) # [ 6 8 10 12] print(a * b) # [ 5 12 21 32] print(a ** 2) # [ 1 4 9 16] print(np.sqrt(a)) # [1. 1.414 1.732 2.]

# 广播机制 matrix = np.array([[1, 2, 3], [4, 5, 6]]) print(matrix + 10) # 每个元素加10 print(matrix * 2) # 每个元素乘2

数组索引与切片

import numpy as np

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

print(arr[0, 1]) # 2 (第0行第1列) print(arr[:, 1]) # [2 6 10] (所有行的第1列) print(arr[1:, :2]) # [[5 6] [9 10]]

# 布尔索引 print(arr[arr > 5]) # [6 7 8 9 10 11 12]

常用函数速查表

函数说明
np.sum(arr)计算总和
np.mean(arr)计算平均值
np.median(arr)计算中位数
np.std(arr)计算标准差
np.min(arr) / np.max(arr)最小值 / 最大值
np.dot(a, b)矩阵乘法
np.reshape(arr, shape)改变数组形状
np.concatenate([a, b])拼接数组
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 152 篇
0 完成
🔥 0