Python 官方文档:入门教程 => 点击学习
目录一、维数的变形1. 一维数组转二维数组以及同维变换2. 二维数组转化维度也可以用这两个函数3. 二维数组转一维数组二、数组的拼接1. 横向拼接2. 纵向拼接三、数组的分割1. 横
import numpy as np
arr_1d = np.arange(12)
# 使用 numpy 的
arr1 = np.reshape(arr_1d,(3,4))
# 使用 ndarray 的
arr2 = arr_1d.reshape((3, 4))
函数resize()
的作用跟reshape()
类似,但是会改变所作用的数组,相当于有inplace=True的效果
import numpy as np
arr_2d = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]])
arr_2d.reshape((2,6))
# -1 表示不确定有多少列
arr_2d.reshape((4,-1))
ravel()
和flatten()
两者的区别在于返回拷贝(copy)还是返回视图(view),flatten()返回一份拷贝,需要分配新的内存空间,对拷贝所做的修改不会影响原始矩阵,而ravel()返回的是视图(view),会影响原始矩阵。因此在使用ravel时候要格外小心,以免数据修改造成原始数据的改变。
import numpy as np
arr_2d = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]])
a = arr_2d.flatten()
a[0] = -999
a, arr_2d
b = arr_2d.ravel()
b
b[0] = -999
b, arr_2d
hstack()
——水平拼接,沿着行的方向,对列进行拼接。concatenate()
也可以完成相应的功能,axis=1
时,沿水平方向叠加。
import numpy as np
a = np.array([1,2,3,4]).reshape((2,2), order='F')
b = np.array([0,0,1,1]).reshape((2,2))
a, b
harr = np.hstack((a, b))
harr
harr = np.concatenate((a, b), axis=1)
harr
vstack()
——垂直拼接,沿着列的方向,对行进行拼接。concatenate()
也可以完成相应的功能,axis=0
时,沿垂直方向叠加
import numpy as np
a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))
a, b
varr = np.vstack((a, b))
varr
varr = np.concatenate((a, b), axis=0)
varr
hsplit()
——水平拆分,沿着行的方向,对列进行拼接。split()
也可以完成相应的功能,axis=1
时,沿水平方向拆分。
import numpy as np
a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))
harr = np.hstack((a, b))
np.hsplit(harr, 2)
np.split(harr, 2, axis=1)
hvplit()
——垂直拆分,沿着列的方向,对行进行拼接。split()
也可以完成相应的功能,axis=0
时,沿垂直方向拆分。
import numpy as np
a = np.array([1,1,0,0]).reshape((2,2))
b = np.array([0,1,0,1]).reshape((2,2))
varr = np.vstack((a, b))
np.vsplit(varr, 2)
np.split(varr, 2, axis=0)
到此这篇关于python ndarray 数组的变形详情的文章就介绍到这了,更多相关Python ndarray 数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python ndarray 数组的变形详情
本文链接: https://lsjlt.com/news/120680.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0