numpy库常用函数总结

总是记不住函数用法,在这儿整理一下。

1.np.array():创建数组。

import numpy as np
arr = np.array([1, 2, 3])  # 一维数组
arr_2d = np.array([[1, 2], [3, 4]])  # 二维数组

2.np.arange():生成等差数列

arr = np.arange(0, 10, 2)  # 输出:[0 2 4 6 8]

3.np.linspace():生成均匀间隔的数值

arr = np.arange(0, 10, 2)  # 输出:[0 2 4 6 8]

4.np.zeros() / np.ones():全0或全1数组

zeros = np.zeros((2, 3))  # 2行3列全0数组
ones = np.ones((3, 2))    # 3行2列全1数组

5.np.random:随机数组

rand_arr = np.random.rand(2, 2)  # 2x2的[0,1)随机数
randint_arr = np.random.randint(0, 10, size=(3, 3))  # 0-9的3x3随机整数

6.reshape():改变数组形状

arr = np.arange(6).reshape(2, 3)  # 将一维数组转为2x3

7.concatenate() / vstack() / hstack():合并数组

a = np.array([1, 2])
b = np.array([3, 4])
c = np.concatenate([a, b])         # 输出:[1 2 3 4]
d = np.vstack([a, b])             # 垂直堆叠成2x2数组
e = np.hstack([a.reshape(2,1), b.reshape(2,1)])  # 水平堆叠

8.split():分割数组

arr = np.arange(6)
result = np.split(arr, 3)  # 将数组分为3个子数组

9.transpose() / .T:转置

arr = np.array([[1, 2], [3, 4]])
arr_transposed = arr.T  # 转置为 [[1, 3], [2, 4]]

10.基本运算(逐元素计算)

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b   # 加法:[5 7 9]
d = a * b   # 乘法:[4 10 18]
e = np.sin(a)  # 计算正弦值

11.np.dot():矩阵乘法

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)  # 矩阵乘法:[[19 22], [43 50]]

12.聚合函数

arr = np.array([[1, 2], [3, 4]])
sum_all = np.sum(arr)       # 总和:10
sum_axis0 = np.sum(arr, axis=0)  # 沿列求和:[4 6]
mean_val = np.mean(arr)     # 均值:2.5
max_val = np.max(arr)       # 最大值:4

13.np.unique():去重并排序

arr = np.array([2, 1, 2, 3, 1])
unique_arr = np.unique(arr)  # 输出:[1 2 3]

14.np.where():条件筛选

arr = np.array([1, 2, 3, 4])
indices = np.where(arr > 2)  # 返回索引:(array([2, 3]),)
values = arr[indices]        # 输出:[3 4]

15.布尔索引

mask = arr % 2 == 0  # 找出偶数
even_numbers = arr[mask]  # 输出:[2 4]

16.np.linalg.inv():矩阵求逆

A = np.array([[1, 2], [3, 4]])
A_inv = np.linalg.inv(A)  # 逆矩阵

17.np.linalg.det():矩阵行列式

det = np.linalg.det(A)  # 行列式值:-2.0

18.np.linalg.eig():特征值和特征向量

eigenvalues, eigenvectors = np.linalg.eig(A)

19.允许不同形状的数组进行算术运算:

a = np.array([[1, 2], [3, 4]])
b = np.array([10, 20])
c = a + b  # b被广播为 [[10,20], [10,20]],结果:[[11 22], [13 24]]

20.保存/加载数组

np.save('data.npy', arr)         # 保存为二进制文件
loaded_arr = np.load('data.npy') # 加载文件

np.savetxt('data.txt', arr)      # 保存为文本文件

常用技巧
1.轴(axis)参数:

axis=0 沿列操作(如求每列的和)

axis=1 沿行操作(如求每行的最大值)

2.数据类型转换

arr = arr.astype(np.float32)  # 转换为浮点型

3.向量化操作:
避免使用循环,直接操作整个数组:

# 计算平方和
squared_sum = np.sum(arr ** 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一尾清风915

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

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

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

打赏作者

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

抵扣说明:

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

余额充值