您现在的位置是:网站首页> 编程资料编程资料
Python ndarray 数组的变形详情_python_
2023-05-26
490人已围观
简介 Python ndarray 数组的变形详情_python_
一、维数的变形

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的效果
2. 二维数组转化维度也可以用这两个函数
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))
3. 二维数组转一维数组
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
二、数组的拼接
1. 横向拼接
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
2. 纵向拼接
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
三、数组的分割
1. 横向分割
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)
2. 纵向分割
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 数组内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- Python 数据清洗删除缺失值替换缺失值详情_python_
- 如何使用Python生成Hilbert矩阵_python_
- python正则表达式对字符串的查找匹配_python_
- Python实现IP代理批量采集的示例代码_python_
- Python正则表达式re.sub()用法详解_python_
- Python+OpenCV之直方图均衡化详解_python_
- Seaborn数据分析NBA球员信息数据集_python_
- Python property装饰器使用案例介绍_python_
- Python利用keyboard模块实现键盘记录操作_python_
- Python hashlib模块与subprocess模块使用详细介绍_python_
