常用Numpy操作(笔记整理)

目录

一、常用(自查)

[1. 创建数组(array)](#1. 创建数组(array))

[2. 数组形状(shape)](#2. 数组形状(shape))

[3. 数组维度(ndim)](#3. 数组维度(ndim))

[4. 数组⼤⼩(size)](#4. 数组⼤⼩(size))

[5. 数组数据类型(dtype)](#5. 数组数据类型(dtype))

[6. 数组类型转换(astype)](#6. 数组类型转换(astype))

[7. 特定数组生成(zeros、ones)](#7. 特定数组生成(zeros、ones))

[8. 指定范围数组生成(arange、linspace)](#8. 指定范围数组生成(arange、linspace))

[9. 随机数组生成(randn、random)](#9. 随机数组生成(randn、random))

[10. 数组切⽚](#10. 数组切⽚)

[11. 数组去重(unique)](#11. 数组去重(unique))

[12. 数组最⼤最⼩值(max、argmax)](#12. 数组最⼤最⼩值(max、argmax))

[13. 数组元素绝对值(abs)](#13. 数组元素绝对值(abs))

[14. 数组求和和累积(sum、cumsum)](#14. 数组求和和累积(sum、cumsum))

[15. 数组平均值(mean)](#15. 数组平均值(mean))

[16. 数组中值(median)](#16. 数组中值(median))

[17. 数组标准差和⽅差(std、var)](#17. 数组标准差和⽅差(std、var))

[18. 数组元素加减乘除(add)](#18. 数组元素加减乘除(add))

[19. 数组元素取余(mod)](#19. 数组元素取余(mod))

[20. 数组对数运算(log)](#20. 数组对数运算(log))

[21. 数组指数函数(exp)](#21. 数组指数函数(exp))

[22. 数组⻆度转换(radians)](#22. 数组⻆度转换(radians))

[23. 数组三⻆函数(sin)](#23. 数组三⻆函数(sin))

[24. 数组双曲函数(sinh)](#24. 数组双曲函数(sinh))

[25. 数组元素舍⼊(round)](#25. 数组元素舍⼊(round))

[26. 数组元素⽐较(equal)](#26. 数组元素⽐较(equal))

[27. 数组拆分(split)](#27. 数组拆分(split))

[28. 数组连接(concatenate、vstack、hstack)](#28. 数组连接(concatenate、vstack、hstack))

[29. 数组形状改变(reshape、ravel)](#29. 数组形状改变(reshape、ravel))

[30. 数组重复(repeat)](#30. 数组重复(repeat))

[31. 数组排序(sort、argsort)](#31. 数组排序(sort、argsort))

[32. 数组复制(copy)](#32. 数组复制(copy))

[33. 数组填充(full)](#33. 数组填充(full))

[34. 数组插⼊(insert、append)](#34. 数组插⼊(insert、append))

[35. 数组删除(delete)](#35. 数组删除(delete))

二、其他(自查)

[1. 数组元素累积⽐较](#1. 数组元素累积⽐较)

[2. 数组转置(.T)](#2. 数组转置(.T))

[3. 数组逆运算](#3. 数组逆运算)

[4. 数组指定轴计算](#4. 数组指定轴计算)

[5. 数组逻辑操作](#5. 数组逻辑操作)

[6. 数组线性代数运算](#6. 数组线性代数运算)


一、常用(自查)

**1.**创建数组(array)

python 复制代码
np.array()

将列表转换为 NumPy 数组。

**2.**数组形状(shape)

python 复制代码
np.shape
np.ndarray.shape

查看数组形状。

**3.**数组维度(ndim)

python 复制代码
np.ndim
np.ndarray.ndim

查看数组维度。

**4.**数组⼤⼩(size)

python 复制代码
np.size 
np.ndarray.size

查看数组⼤⼩。

**5.**数组数据类型(dtype)

python 复制代码
np.dtype 
np.ndarray.dtype

查看数组数据类型。

**6.**数组类型转换(astype)

python 复制代码
np.astype()  
np.ndarray.astype

转换数组数据类型。

python 复制代码
int_array = np.array([[1, 2, 3], [4, 5, 6]])

float_array = int_array.astype(float)

7. 特定****数组生成(zeros、ones)

python 复制代码
np.zeros()  # 创建全零数组
np.ones()   # 创建全⼀数组
np.full()   # 创建特定填充值数组
np.empty()  # 创建未初始化数组

创建特定填充值的数组。

python 复制代码
np.full((2, 3), 5)

np.empty((2, 3))

8. 指定范围****数组生成(arange、linspace)

python 复制代码
np.arange()    # 创建指定范围的数组
np.linspace()  # 创建等间隔的数组

创建指定范围的数组。

python 复制代码
np.arange(1, 10, 2)     # 步⻓为2的数组,包含1,不包含10

np.linspace(1, 10, 5)   # 从1到10,共5个数,等间隔

**9.**随机数组生成(randn、random)

python 复制代码
np.random.rand()     # 创建服从均匀分布的随机数组
np.random.randn()    # 创建服从标准正态分布的随机数组
np.random.randint()  # 创建指定范围的随机整数数组
np.random.random()   # 创建服从均匀分布的随机数组

创建随机数组。

python 复制代码
np.random.randint(1, 10, size=(2, 3))

np.random.random((2, 3))

10. 数组切⽚

切⽚操作获取特定区域的数组元素。

python 复制代码
my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

get_array = my_array[0:2, 1:3]

11. 数组去重(unique)

python 复制代码
np.unique()

对数组进⾏去重。

12. 数组最⼤最⼩值(max、argmax)

python 复制代码
# 获取数组的最⼤值和最⼩值
np.max() 
np.min() 

# 获取数组的最⼤值和最⼩值的索引
np.argmax() 
np.argmin()

获取数组的最⼤最⼩值及其索引。

13. 数组元素绝对值(abs)

python 复制代码
np.abs()

计算数组元素的绝对值。

14. 数组求和和累积(sum、cumsum)

python 复制代码
np.sum(axis)     # 计算数组元素的和
# axis    1:数组的⾏和, 0:数组的列和

np.cumsum()  # 计算数组元素的累积和
np.cumprod() # 对数组元素进⾏累积

对数组元素求和计算。
对数组元素进⾏求和或累积操作。

python 复制代码
my_array = np.array([1, 2, 3, 4, 5])

cumprod_array = np.cumprod(my_array)

15. 数组平均值(mean)

python 复制代码
np.mean() 
np.average()

计算数组元素的平均值。

16. 数组中值(median)

python 复制代码
np.median()    # 计算数组元素的中位数

计算数组元素的中位数。

17. 数组标准差和⽅差(std、var)

python 复制代码
np.std()    # 计算数组元素的标准差

np.var()    # 计算数组元素的⽅差

计算数组元素的标准差。
计算数组元素的⽅差。

18. 数组元素加减乘除(add)

python 复制代码
np.add()         # 数组元素加法
np.subtract()    # 数组元素减法
np.multiply()    # 数组元素乘法
np.divide()      # 数组元素除法
np.power()       # 数组元素幂运算

对数组元素进⾏加减乘除操作。

python 复制代码
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

add_result = np.add(array1, array2)

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

power_array = np.power(my_array, 2)

19. 数组元素取余(mod)

python 复制代码
np.mod()     # 对数组元素进⾏取余操作
np.remainder()

对数组元素进⾏取余操作。

python 复制代码
my_array = np.array([1, 2, 3, 4, 5])

mod_result = np.mod(my_array, 2)

20. 数组对数运算(log)

python 复制代码
np.log()     # 对数组进⾏⾃然对数运算
np.log10()   # 对数组进⾏以10为底的对数运算
np.log2()    # 对数组进⾏以2为底的对数运算

对数组进⾏对数运算。

21. 数组指数函数(exp)

python 复制代码
np.exp()     # 对数组进⾏⾃然指数函数运算
np.exp2()    # 对数组进⾏以2为底的指数函数运算

对数组进⾏指数函数运算。

22. 数组⻆度转换(radians)

python 复制代码
np.degrees()     # 将弧度转换为⻆度
np.radians()     # 将⻆度转换为弧度

将⻆度与弧度进⾏转换。

23. 数组三⻆函数(sin)

python 复制代码
np.deg2rad()    # 将⻆度转换为弧度

np.sin() 
np.cos() 
np.tan() 
np.arcsin() 
np.arccos()
np.arctan()

对数组进⾏三⻆函数运算。

24. 数组双曲函数(sinh)

python 复制代码
np.sinh() 
np.cosh() 
np.tanh() 
np.arcsinh() 
np.arccosh() 
np.arctanh()

对数组进⾏双曲函数运算。

25. 数组元素舍⼊(round)

python 复制代码
np.round()     # 对数组元素进⾏舍⼊操作
np.floor()     # 向下取整
np.ceil()      # 向上取整
np.trunc()     # 截断

对数组元素进⾏舍⼊操作。

python 复制代码
my_array = np.array([1.2, 2.7, 3.5, 4.1, 5.9])

round_array = np.round(my_array)

26. 数组元素⽐较(equal)

python 复制代码
np.equal()     # 数组元素相等⽐较
np.not_equal() # 数组元素不等⽐较
np.greater()   # 数组元素⼤于⽐较
np.less()      # 数组元素⼩于⽐较
np.greater_equal()     # 数组元素⼤于等于⽐较
np.less_equal()     # 数组元素⼩于等于⽐较

进⾏元素级别的⽐较操作。

27. 数组拆分(split)

python 复制代码
np.split() 
np.vsplit()     # 沿垂直⽅向拆分数组
np.hsplit()     # 沿⽔平⽅向拆分数组
np.array_split()

将数组拆分为多个⼦数组。

28. 数组连接(concatenate、vstack、hstack)

python 复制代码
np.concatenate() 
np.vstack()     # 沿垂直⽅向连接数组
np.hstack()     # 沿⽔平⽅向连接数组
np.column_stack()

连接数组。

python 复制代码
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

hstacked_array = np.hstack((array1, array2))

vstacked_array = np.vstack((array1, array2))

concatenated_array = np.concatenate((array1, array2))

29. 数组形状改变(reshape、ravel)

python 复制代码
np.reshape()     # 改变数组形状
np.ravel() 
np.flatten()

改变数组形状。

python 复制代码
my_array = np.array([[1, 2, 3], [4, 5, 6]])

reshaped_array = np.reshape(my_array, (3, 2))

30. 数组重复(repeat)

python 复制代码
np.repeat()     # 数组元素重复
np.tile()       # 数组重复

对数组进⾏重复操作。

python 复制代码
my_array = np.array([1, 2, 3])

repeated_array = np.repeat(my_array, 3)

tiled_array = np.tile(my_array, 3)

31. 数组排序(sort、argsort)

python 复制代码
np.sort()     # 对数组进⾏排序
np.argsort()  # 获取排序后的索引
np.lexsort() 
np.argmax() 
np.argmin()

对数组进⾏排序和获取索引。

32. 数组复制(copy)

python 复制代码
np.copy()
np.ndarray.copy()

复制数组。

33. 数组填充(full)

python 复制代码
np.full() 
np.fill()

对数组进⾏填充。

python 复制代码
my_array = np.empty((2, 3))

filled_array1 = np.full_like(my_array, 5)

my_array.fill(5)

34. 数组插⼊(insert、append)

python 复制代码
np.insert()     # 在指定位置插⼊元素
np.append()     # 在末尾追加元素

对数组进⾏插⼊操作。

python 复制代码
my_array = np.array([1, 2, 3, 4, 5])

inserted_array = np.insert(my_array, 2, [6, 7])

appended_array = np.append(my_array, [6, 7])

35. 数组删除(delete)

python 复制代码
np.delete()    # 删除指定位置的元素

对数组进⾏删除操作。

python 复制代码
my_array = np.array([1, 2, 3, 4, 5])

deleted_array = np.delete(my_array, 2)

二、其他(自查)

1. 数组元素累积⽐较

python 复制代码
np.cummax()     # 对数组元素进⾏累积最⼤值⽐较
np.cummin()     # 对数组元素进⾏累积最⼩值⽐较

对数组元素进⾏累积⽐较。

2. 数组转置(.T)

python 复制代码
np.transpose() 
np.ndarray.T

对数组进⾏转置操作。

3. 数组逆运算

python 复制代码
np.reciprocal()

对数组进⾏逆运算。

python 复制代码
my_array = np.array([1, 2, 3, 4, 5])

reciprocal_array = np.reciprocal(my_array)

4. 数组指定轴计算

python 复制代码
np.apply_along_axis()    # 对数组指定轴应⽤⾃定义函数

对数组指定轴应⽤⾃定义函数。

python 复制代码
my_array = np.array([[1, 2, 3], [4, 5, 6]])

# ⾃定义函数
def custom_function(x):
    return x * 2

new_array = np.apply_along_axis(custom_function, axis=1, arr=my_array)

5. 数组逻辑操作

python 复制代码
np.logical_and()     # 逻辑与操作
np.logical_or()      # 逻辑或操作
np.logical_xor()     # 逻辑异或操作
np.logical_not()     # 逻辑⾮操作

进⾏逻辑操作。

python 复制代码
array1 = np.array([True, False, True])
array2 = np.array([False, False, True])

and_result = np.logical_and(array1, array2)

6. 数组线性代数运算

python 复制代码
np.dot()     # 数组的点积运算
np.linalg.inv()     # 数组的逆运算
np.linalg.det()     # 数组的⾏列式
np.linalg.eigvals()     # 数组的特征值
np.linalg.solve()   # 数组的线性⽅程组求解

对数组进⾏线性代数运算。

python 复制代码
b = np.array([5, 7])
solve_array = np.linalg.solve(array1, b)
相关推荐
逐梦苍穹几秒前
速通GPT:Improving Language Understanding by Generative Pre-Training全文解读
论文阅读·人工智能·gpt·语言模型·论文笔记
为为-180-3121-14555 分钟前
“AI大语言模型+”助力大气科学相关交叉领域实践技术应用
人工智能·语言模型·自然语言处理
文艺倾年10 分钟前
【大模型专栏—进阶篇】语言模型创新大总结——“三派纷争”
人工智能·pytorch·语言模型·自然语言处理·大模型
陈敬雷-充电了么-CEO兼CTO14 分钟前
自然语言处理系列六十八》搜索引擎项目实战》搜索引擎系统架构设计
人工智能·gpt·搜索引擎·ai·自然语言处理·chatgpt·aigc
⊙月15 分钟前
CMU 10423 Generative AI:lec5(Encoder-only Transformers + 阅读材料Bert, ViT)
人工智能·深度学习·aigc·bert
强哥之神19 分钟前
白话:大型语言模型中的幻觉(Hallucinations)
人工智能·机器学习·语言模型·自然语言处理·llm·llama·hallucinations
AI人工智能集结号25 分钟前
使用 Azure 机器学习微调小型语言模型 (SLM) Phi-3
机器学习·语言模型·azure
JovaZou26 分钟前
[Python学习日记-21] Python 中的字符编码(上)
开发语言·python·学习
哈团32 分钟前
为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器
服务器·python
wang15103860634 分钟前
运行QWen2-1.5b模型时报错“RuntimeError: cutlassF: no kernel found to launch!”
python·深度学习