NumPy数组操作
1.修改形状
arr.reshape(m,n)
# 将数组修改成m*n的新数组
# 一维数组
import numpy as np
arr = np.arange(10)
arr1 = arr.reshape(2, 5)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
# 二维数组
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
arr1 = arr.reshape(4, 2)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
2.修改维度
np.array(arr,ndmin=n)
# n表示要转换的维度
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
arr1 = np.array(arr, ndmin=2)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
注:只能低维度转高维度
import numpy as np
# 二维转一维
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
arr1 = np.array(arr, ndmin=1)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
可见转换前后结果相同,虽然没有报错,但无法完成转换。
那么是什么原因呢?我之前的博客曾提过ndmin,ndmin用于指定数组的最小维度,然而这里arr的维度为2,本身已经大于1了,所以并不会进行转换。
3.翻转数组
np.transpose(arr)
# arr: 要翻转的数组
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr1 = np.transpose(arr)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
4.数组去重
np.unique(arr)
# arr:要去重的数组
import numpy as np
arr = np.array([1, 1, 1, 2, 3, 4, 5, 6])
arr1 = np.unique(arr)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
注:函数返回的结果是一维数组
import numpy as np
arr = np.array([[1, 2, 1], [4, 5, 6], [7, 8, 9]])
arr1 = np.unique(arr)
print("arr:")
print(arr)
print("arr1:")
print(arr1)
由此可见,尽管传入的是二维数组,返回的结果依然是一维数组。
标签:arr,arr1,np,数组,print,操作,array,NumPy From: https://www.cnblogs.com/hanstary/p/18258811