返回顶部
首页 > 资讯 > 后端开发 > Python >Python ndarray 数组的变形详情
  • 849
分享到

Python ndarray 数组的变形详情

2024-04-02 19:04:59 849人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、维数的变形1. 一维数组转二维数组以及同维变换2. 二维数组转化维度也可以用这两个函数3. 二维数组转一维数组二、数组的拼接1. 横向拼接2. 纵向拼接三、数组的分割1. 横

一、维数的变形

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 数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python ndarray 数组的变形详情

本文链接: https://lsjlt.com/news/120680.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python ndarray 数组的变形详情
    目录一、维数的变形1. 一维数组转二维数组以及同维变换2. 二维数组转化维度也可以用这两个函数3. 二维数组转一维数组二、数组的拼接1. 横向拼接2. 纵向拼接三、数组的分割1. 横...
    99+
    2024-04-02
  • Python数组变形的几种实现方法
    目录1.reshape2.flatten3.ravel4.stack(1)concatenate(2)vstack(3)dstack(4)hstack(5)r,c模式5.split(...
    99+
    2024-04-02
  • Python中的变量和数据类型详情
    python是一门弱数据类型的语言,变量不需要声明即可使用,向变量赋值即定义变量,赋予的值的类型就是变量的类型,但变量也是有数据类型的,字符串'1'如果想参与数据计算...
    99+
    2024-04-02
  • python中ndarray数组的索引和切片的使用
    索引和切片相当于是对数组中内容的读(read)或者查询(inquiry)。是我们获取有用信息(demanded infomation)的重要方法。 对于索引 对于1维数组:在数组名的...
    99+
    2024-04-02
  • Python数组变形的实现方法有哪些
    这篇文章主要介绍了Python数组变形的实现方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python数组变形的实现方法有哪些文章都会有所收获,下面我们一起来看看吧。1.reshapereshape是...
    99+
    2023-06-30
  • C++中的数组详情
    目录1、数组2、数组的使用2.1 元素访问2.2 初始化3、C++11 的初始化方式1、数组 数组其实也是一种数据格式,不过是一种复合类型,它可以存储多个同类型的值。 使用数组可以将...
    99+
    2024-04-02
  • python sns.countplot() 绘画条形图详情
    前言: sns.countplot() 用于画类别特征的频数条形图。 函数中的参数如下所示: sns.countplot(x=None, y=None, hue=None, data...
    99+
    2024-04-02
  • 怎么在python中创建一个ndarray数组
    怎么在python中创建一个ndarray数组?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面...
    99+
    2023-06-14
  • Python 的可变和不可变对象详情
    目录Python 中的可变和不可变对象一、文字描述可变和不可变对象1、可变与不可变对象归类2、可变与可变对象的区别3、不可变对象的应用场景二、代码角度区别1、不可变对象-整型2、不可...
    99+
    2024-04-02
  • python ndarray数组对象特点及实例分享
    1、numpy数组是同质数组,即所有元素的数据类型必须相同。 2、ndarray数组一般要求所有元素的数据类型相同,下标从0开始,最后一个元素的下标为数组长度减1。 实例 imp...
    99+
    2024-04-02
  • C++数组的定义详情
    目录1.数组概念2.数组的复杂声明3.数组到指针4.数组操作4.1获取数组元素个数4.2使用for循环遍历数组(C++11开始支持)5.拓展5.1C字符串5.2vector5.3st...
    99+
    2024-04-02
  • python中ndarray数组的索引和切片如何使用
    这篇文章主要介绍“python中ndarray数组的索引和切片如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python中ndarray数组的索引和切片如何使用”文章能帮助大家解决问题。索引...
    99+
    2023-07-02
  • Python的列表和元组详情
    目录一、Python 列表(list)1.序列介绍2.列表的概述列表是包含0个或者多个元素的有序序列,属于序列类型。3.创建列表4.列表的索引5.列表的分片6.列表的分片赋值7.循环...
    99+
    2024-04-02
  • Python中的 Numpy 数组形状改变及索引切片
    目录1.改变数组形状2.索引和切片1.改变数组形状 数组的shape属性返回一个元组,包括维度以及每个轴的元素数量,Numpy 还提供了一个reshape()方法,它可以改变数组的形...
    99+
    2024-04-02
  • python中的变量命名规则详情
    目录1.变量命名1)命名的规范性2)编程语言常用驼峰命名法2. 变量命名的描述性3.变量名尽量短,但是不要太短4.合理使用变量5. 变量定义尽量靠近使用6. 合理使用namedtup...
    99+
    2024-04-02
  • JS数组去重详情
    目录1 测试用例2 JS 数组去重4大类型2.1 元素比较型2.1.1 双层 for 循环逐一比较(es5常用)2.1.2 排序相邻比较2.2 查找元素位置型2.2.1 indexO...
    99+
    2024-04-02
  • Python真题案例之蛇形数组详解
    问题描述 输入一个正整数n 在n*n的方阵内填入1,2,3,4…n*n,要求填成蛇形。(回旋的向中间收敛) 样例输入: 4 样例输出: 不必严格按照格式输出, 问题分析 蛇形填...
    99+
    2024-04-02
  • C++数组指针和二维数组详情
    目录1、二维数组2、数组指针和二维数组1、二维数组 对于一维数组,int arr[10]; arr是数组名,也是首元素的地址,&arr是数组的地址,那么对于二维数组 int ...
    99+
    2024-04-02
  • ndarray数组的转置(transpose)和轴对换方式
    目录ndarray数组的转置(transpose)和轴对换1 .T2. transpose3.swapaxesndarray数据基本操作数组与标量的运算数组与数组的运算数组...
    99+
    2023-02-05
    ndarray数组的转置 数组转置 ndarray轴对换
  • Python利用随机函数生成变化图形详解
    鉴于上一篇中最后三个问题: 1、上述程序是否能进行优化(比如功能相同的) 2、创建三个3个实例,用了3个语句,能否建一个函数,只输入一个数n,就自动创建n个实例?同时,每个实例的nu...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作