NumPy 快速入门:数组对象的类列表方法及专用方法介绍
前言:
上两篇博客分别对 NumPy 中 数组概念、索引等基础内容 及 算数运算、统计计算等常用计算方法 做了简单的介绍。本篇博客将继续介绍 NumPy 中的其他一些常用方法,分类两个方面:
- 类列表方法:排序、插入、添加删除等;
- 特殊方法。
1、类列表方法:
多维数组中的数据通常可以用 Python 的列表表达出来,只是会麻烦很多,数组对象中也有许多类似于列表操作的方法:
a. 数组的排序:
sort 方法可用于数组的排序:
sort(a, axis=-1, kind=None, order=None)
示例:
# 数组排序
g6 = np.array([[1,4],[3,2]])
print(np.sort(g6))
'''
[[1 4]
[2 3]]
'''
特定轴方向上的排序:
print(np.sort(g6,axis=None)) # 丢弃轴,将数组变为一维后排序
# [1 2 3 4]
print(np.sort(g6,axis=0))
'''
[[1 2]
[3 4]]
'''
b. 排序索引:
数组对象的排序相对于 Python 列表的简单排序还提供了获取排序的索引方法,如:
argsort :获取一维数组的排序索引
argsort(a, axis=-1, kind=None, order=None)
g7 = np.array([3,1,2])
print(np.argsort(g7))
# [1 2 0]
argmax、argmin :获取数组对象中最大值、最小值索引
argmax(a, axis=None, out=None)
argmin(a, axis=None, out=None)
print(np.argmax(g7))
# 0
print(np.argmin(g7))
# 1
searchsorted : 获取元素在数组中排序索引
searchsorted(a, v, side=‘left’, sorter=None)
示例:
print(np.searchsorted([1,2,4,5,6], 3))
# 2
print(np.searchsorted([1,2,3,4,5], [-10, 10, 2, 3]))
# [0 5 1 2]
解析:其实 searchsorted 方法是获取第二个参数对象在 第一个参数中的排序索引。如 3 在 数组 [ 1,2,4,5,6 ] 应该排在第 2 位 (第一位为 0 )。
c. 数组的删除:
delete:删除数组中的某些元素:
delete(arr, obj, axis=None)
示例:
h5 = np.array([[1,2,3,4],