NumPy初步使用方法总结

作为一名数据分析师,Numpy(Python科学计算库)的使用必不可少。下面是 NumPy 的初步使用方法的总结。


📌 NumPy 使用方法总结

NumPy(Numerical Python)是 Python 中用于 科学计算数值处理 的核心库,提供高效的多维数组对象 ndarray 以及丰富的数学函数。


🔧 1. 安装

pip install numpy

导入:

import numpy as np

📦 2. 核心数据结构:ndarray

✅ 创建数组

# 从Python列表创建
a = np.array([1, 2, 3])

# 指定dtype
b = np.array([1, 2, 3], dtype=float)

# 多维数组
c = np.array([[1, 2], [3, 4]])

# 特殊数组
np.zeros((2,3))        # 全0数组
np.ones((3,3))         # 全1数组
np.full((2,2), 9)      # 指定值数组
np.eye(3)              # 单位矩阵
np.arange(0, 10, 2)    # 类似range
np.linspace(0, 1, 5)   # 均匀分布序列

📐 3. 数组属性

a.shape        # 数组形状 (行, 列)
a.ndim         # 数组维度
a.size         # 元素总数
a.dtype        # 数据类型
a.itemsize     # 每个元素字节数

✏️ 4. 数组索引和切片

a[0]           # 取第一个元素
a[-1]          # 取最后一个元素
a[1:4]         # 切片
a[:, 0]        # 取第一列
a[0, :]        # 取第一行
a[::2]         # 步长切片

布尔索引:

a[a > 2]       # 取出大于2的元素

🔄 5. 形状操作

a.reshape(3,2)       # 改变形状
a.ravel()            # 拉平成一维
a.T                  # 转置
np.hstack((a,b))     # 水平拼接
np.vstack((a,b))     # 垂直拼接

🔢 6. 基本运算

NumPy 支持 逐元素运算,无需显式循环:

a + b       # 加法
a - b       # 减法
a * b       # 逐元素乘法
a / b       # 逐元素除法
a ** 2      # 幂运算
np.sqrt(a)  # 开平方

矩阵乘法:

np.dot(a, b)   # 矩阵乘法
a @ b          # 矩阵乘法(Python 3.5+)

📊 7. 聚合函数

a.sum()          # 求和
a.mean()         # 均值
a.max(), a.min() # 最大值、最小值
a.std()          # 标准差
a.argmin()       # 最小值索引
a.argmax()       # 最大值索引

按轴聚合:

a.sum(axis=0)   # 按列求和
a.sum(axis=1)   # 按行求和

🔧 8. 广播机制(Broadcasting)

NumPy 允许不同形状数组间的运算,自动扩展匹配:

a = np.array([1,2,3])
b = np.array([[1],[2],[3]])
a + b   # 自动广播成3x3

📈 9. 常用随机数

np.random.rand(3,3)      # [0,1)均匀分布
np.random.randn(3,3)     # 标准正态分布
np.random.randint(0,10,(3,3)) # 整数随机矩阵
np.random.seed(42)       # 设置随机种子,保证结果可复现

🧮 10. 线性代数

np.linalg.inv(A)      # 求逆矩阵
np.linalg.det(A)      # 行列式
np.linalg.eig(A)      # 特征值和特征向量
np.linalg.solve(A,b)  # 解线性方程 Ax=b

📚 11. 常用技巧

  • 类型转换:
a.astype(np.float32)
  • 复制 vs 视图:
b = a.copy()    # 深拷贝
c = a.view()    # 视图,修改 c 会影响 a
  • 内存高效操作: 尽量使用切片和广播,而不是 Python 循环。

💡 12. 参考资源


总结:
NumPy 的强大在于 高效的多维数组广播、矢量化操作,让你用更少的代码实现更快的数值计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Duyu09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值