Numpy数组操作指南
一、Numpy一维数组转二维
Numpy一维数组可以通过reshape
函数转换为二维数组。reshape
函数的第一个参数是新数组的行数,第二个参数是列数。如果只给定一个参数,那么reshape
函数会将数组转换为只有一列的二维数组。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape((2, 3))
print(new_arr)
运行结果:
[[1 2 3]
[4 5 6]]
二、Numpy将二维数组转为一维
Numpy提供了flatten
和ravel
函数,将二维数组转换为一维数组。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = arr.flatten()
print(new_arr)
运行结果:
[1 2 3 4 5 6]
三、Numpy二维数组切片
Numpy支持对二维数组进行切片。切片的使用方式与对列表进行切片类似。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
sub_arr = arr[1:, 1:]
print(sub_arr)
运行结果:
[[4]
[6]]
四、Numpy三维数组赋值
Numpy中的三维数组可以通过赋值改变数组中的元素。
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
arr[0][0][0] = 0
print(arr)
运行结果:
[[[0 2]
[3 4]]
[[5 6]
[7 8]]]
五、Numpy两个一维数组合成二维数组
Numpy中的hstack
和vstack
函数可以将两个一维数组沿着水平方向和垂直方向组合成二维数组。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
new_arr = np.vstack((arr1, arr2))
print(new_arr)
运行结果:
[[1 2 3]
[4 5 6]]
六、Numpy二维数组排序
Numpy提供了sort
函数和argsort
函数对二维数组进行排序。sort
函数将数组中的元素原地排序,argsort
函数返回排序后元素的索引。
import numpy as np
arr = np.array([[1, 3], [0, 2]])
new_arr = np.sort(arr)
print(new_arr)
运行结果:
[[1 3]
[0 2]]
七、Numpy三维数组理解
三维数组可以看作是二维的二维数组。
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr[0])
运行结果:
[[1 2]
[3 4]]
八、一维数组怎么变成二维数组numpy
可以使用reshape
函数将一维数组转换为二维数组。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape((2, 3))
print(new_arr)
运行结果:
[[1 2 3]
[4 5 6]]
九、创建Numpy二维数组
可以使用array
函数创建Numpy二维数组。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
print(arr)
运行结果:
[[1 2]
[3 4]
[5 6]]
十、Numpy数组不同维度转换
Numpy提供了transpose
函数、swapaxes
函数和rollaxis
函数对数组的维度进行转换。
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
new_arr = np.transpose(arr, (1, 0, 2))
print(new_arr)
运行结果:
[[[1 2]
[5 6]]
[[3 4]
[7 8]]]