Python ndarray 数组的变形详情
作者:正在学习中的李斌 发布时间:2023-05-13 14:58:47
标签:Python,ndarray,数组,变形
一、维数的变形
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)
来源:https://blog.csdn.net/qq_35240689/article/details/126971597


猜你喜欢
- TihuanWords.txt文档格式注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词。年休假 年假 年休究竟 到底回家场景 我
- 简述Motivationsometimes,换一种获取数据的方式,可以提高数据获取的速度。sometimes,由于预计爬取的数据长度不确定,
- 本文为大家分享了python实现扫雷游戏的具体代码,供大家参考,具体内容如下本文实例借鉴mvc模式,核心数据为model,维护1个矩阵,0表
- 摘要: 每到情人节、七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题——怎么给女朋友/老婆一个与众不同的节日惊喜。今天给大家分享一个独特的
- 导言:在前面的3章里我们为处理二进制数据添加了很多的功能。我们首先在表Categories里添加BrochurePath列,并更新了体系结构
- Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。
- auto_api_test开发环境: Pycharm开发语言&版本: python3.7.8测试框架: Pytest、测试报告: A
- 我今天晚上,做一个快印公司的网站布局,在Div镶套布局中,父标签DIV的高度不变。在IE下没有问题,但是在FIREFOX下就有问题了。如图:
- 一 前言官方解释:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/r
- 在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;架构也由A改为B,删除架构A,操作如下
- js原生方法map实现<!DOCTYPE html><html lang="en"><he
- /* 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(th
- 本文实例讲述了Python最长公共子串算法。分享给大家供大家参考。具体如下:#!/usr/bin/env python # find an
- Django RBAC权限管理概述RBAC(Role-Based Access Control,基于角色的访问控制),通过角色绑定权限,然后
- 本文实例讲述了Python采用socket模拟TCP通讯的实现方法。分享给大家供大家参考。具体实现方法如下:对于TCP server端的创建
- 今天来说下一台Linux主机如何启动4个MySQL数据库:1.要确定你的机器上面已经安装MySQL,我的MySQL在/usr/loacl/
- 一、sort函数如果对python中的列表进行排序,可以使用List类的成员函数sort,该函数会在原空间上进行操作,对列表本身进行修改,不
- 刚开始,根据我的想法,这个很简单嘛,上sql语句delete from zqzrdp where tel in (select min(dp
- VS Code 装好ESLint 插件报黄线的问题,具体解决方法如下所示:ESLint is disabled since its exec
- 他们都可以把 x 变成一个布尔类型的值:>>> x = 123>>> not not xTrue>