Python学习第十八天,Numpy学习(三)

121 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天,点击查看活动详情

数组去重

函数:

np.unique()

举例:

arr1 = np.array([1,2,3,4,4,4,2,3,3])
uniq_arr1 = np.unique(arr1)
arr2 = np.array([[1,2,3,4,5,6],[2,2,2,4,5,6]])
uniq_arr2 = np.unique(arr2)
print(f"一维的数组去重后:{uniq_arr1}")
print(f"二维的数组去重后:{uniq_arr2}")

ps:n维去重后返回值都是1维

结果:

image.png

数组的索引与切片

首先,数组中的索引与切片是与Python基础中列表的索引、切片是一样的。但数组存在多维,所有略有不同。

举个例子:

arr3 = np.ones([2,2,2])
print(f"先查看生成的3维的数组,它一维有2个元素,二维有2个元素,三维有2个元素:\n{arr3}")
print("===========")
arr3[0] = 2
print(f"将最高维即三维的第1项全部元素更改为2:\n{arr3}")
print("===========")
arr3[0,0] = 3
print(f"将三维的第1项的第1项  即二维第1项全部元素更改为3:\n{arr3}")
print("===========")
arr3[0,0,0] = 4
print(f"将一维的第1项的全部元素改为4:\n{arr3}")

ps:这边需要注意高维的数组,arr [num1 , num2 , num3 ,···],从左至右是从最高维开始逐步递减的。

结果:

image.png

再举个可以进行倒序的例子:

arr4 = np.array([[1,2,3,4],[8,7,6,5]])
print(arr4)
print("==========")
print(f"{arr4[::,::-1]}")
print("这边只有两个维度")
print("第一个参数表示二维层面的元素都有操作到")
print("第二个参数表示将一维层面的元素全部倒序遍历")

结果:

image.png

实际上和大多数切片和索引的用法类似,还是需要灵活运用。