Numpy-改变数组维度_数组的拼接

这篇具有很好参考价值的文章主要介绍了Numpy-改变数组维度_数组的拼接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 处理数组的一项重要工 作就是改变数组的维度,包含提高数组的维度和降低数组的维度,还包括数组的转置Numpy
    提供的大量API可以很轻松地完成这些数组的操作。 例如,通过 reshape 方法可以将一维数组变成二维、三维或者多维数组。 通过
    ravel 方法或 flatten 方法可以将多维数组变成一维数组。改变数组的维度还可以直接设置 Numpy 数组的 shape
    属性(元组类型),通过 resize 方法也可以改变数组的维度。

数组的拼接

  • 水平数组组合
    • 通过 hstack 函数可以将 两个或多个数组水平组合 起来形成一个数组
    • 但数组水平组合必须要满足一个条件,就是所有参与水平组合的数组的行数必须相同,否则进行水平组合会抛出异常。
  • 垂直数组拼接

    • 通过 vstack 函数可以将两个或多个数组垂直组合起来形成一个数组
  • 数组的拼接

函数 描述
concatenate 连接沿现有轴的数组序列
hstack 水平堆叠序列中的数组(列方向)
vstack 竖直堆叠序列中的数组(行方向)

numpy.concatenate 函数用于沿指定轴连接相同形状的两个或多个数组,格式如下: numpy.concatenate((a1, a2, …), axis) 其中参数 a1, a2, …指相同类型的数组;axis 指沿着它连接数组的轴,默认为 0(0为横向拼接,1为纵向拼接)。

numpy.hstack 它通过水平堆叠来生成数组。 numpy.vstack 它通过垂直堆叠来生成数组

🎯实战:

# coding: utf-8

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
b = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
print(b)
print(np.concatenate((a, b)))  # 默认是横面拼接(垂直拼接, 接触面为水平), 等价于vstack
print('垂直方向拼接 相当于vstack')
print(np.concatenate([a, b], axis=0))
print('水平方向拼接 相当于hstack')
print(np.concatenate([a, b], axis=1))

# vstack()与hstack()实现二维数组的拼接
a2 = np.array([[1, 2, 3], [4, 5, 6]])
print(a2)
b2 = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
print(b2)
print('X轴方向接面及垂直堆叠')
print(np.vstack([a, b]))

print('y轴方向接面及水平堆叠')
print(np.hstack([a, b]))
"""注意!如果拼接的行和列数目不一致, 则会报错"""

# 三维数组的拼接
aa = np.arange(1, 37).reshape(3, 4, 3)
print('数组aa shape:', aa.shape)
bb = np.arange(101, 137).reshape(3, 4, 3)
print('数组bb shape:', bb.shape)
print('concatenate((aa, bb), axis=0)结果:')
print(np.concatenate((aa, bb), axis=0).shape)
print('concatenate((aa, bb), axis=1)结果:')
print(np.concatenate((aa, bb), axis=1).shape)


result:文章来源地址https://www.toymoban.com/news/detail-613192.html

[[1 2 3]
 [4 5 6]]
[['a' 'b' 'c']
 ['d' 'e' 'f']]
[['1' '2' '3']
 ['4' '5' '6']
 ['a' 'b' 'c']
 ['d' 'e' 'f']]
垂直方向拼接 相当于vstack
[['1' '2' '3']
 ['4' '5' '6']
 ['a' 'b' 'c']
 ['d' 'e' 'f']]
水平方向拼接 相当于hstack
[['1' '2' '3' 'a' 'b' 'c']
 ['4' '5' '6' 'd' 'e' 'f']]
[[1 2 3]
 [4 5 6]]
[['a' 'b' 'c']
 ['d' 'e' 'f']]
X轴方向接面及垂直堆叠
[['1' '2' '3']
 ['4' '5' '6']
 ['a' 'b' 'c']
 ['d' 'e' 'f']]
y轴方向接面及水平堆叠
[['1' '2' '3' 'a' 'b' 'c']
 ['4' '5' '6' 'd' 'e' 'f']]
数组aa shape: (3, 4, 3)
数组bb shape: (3, 4, 3)
concatenate((aa, bb), axis=0)结果:
(6, 4, 3)
concatenate((aa, bb), axis=1)结果:
(3, 8, 3)

进程已结束,退出代码0

到了这里,关于Numpy-改变数组维度_数组的拼接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 科学计算库——numpy

    numpy作为高性能科学计算和数据分析的基础包,它是众多数据分析、机器学习等工具的基础架构,掌握numpy的功能及其用法将有助于后续其他数据分析工具的学习。本章将针对numpy库的基础功能进行详细地讲解。 numpy中提供了一个重要的数据结构是ndarray(又称为array)对象,该

    2023年04月23日
    浏览(42)
  • 检查两个数组在维度,形状以及元素值上是否均等价 numpy.array_equiv()

    【小白从小学Python、C、Java】 【计算机等级考试+500强双证书】 【Python-数据分析】 检查两个数组在维度,形状 以及元素值上是否均等价 numpy.array_equiv() [太阳]选择题 请问以下代码中执行语句输出结果依次是? import numpy as np a = np.array([1, 2]) b = np.array([1, 2]) c = np.array([1, 3]) d =

    2024年02月07日
    浏览(48)
  • WebGL中开发科学数据可视化应用

    WebGL在科学数据可视化领域有广泛的应用,可以用于呈现和解释复杂的科学数据。以下是在WebGL中开发科学数据可视化应用时的一些建议,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.选择合适的WebGL框架或库: 利用现有的

    2024年02月22日
    浏览(42)
  • 1、NumPy简介:开启Python科学计算之旅

    系列文章:Numpy系列文章-CSDN博客       目录 什么是 NumPy? 为什么要使用 NumPy? 安装和设置 NumPy 环境 开始使用 NumPy        在数据科学、人工智能和科学计算的世界中,Python 已经成为了一种主流的编程语言。这一现象的背后,有一个非常重要的推手,那就是 NumPy。Num

    2024年01月19日
    浏览(40)
  • 【Python】数据科学工具(Numpy Pandas np.array() 创建访问数组 向量与矩阵 Series DataFrame)

    1.Numpy numpy是Python中一个非常重要的科学计算库,其最基础的功能就是N维数组对象——ndarray。 1.1 数组的创建 1)np.array() 用 np.array() 函数可以将Python的序列对象(如列表、元组)转换为ndarray数组。 2)arange、linspace、logspace np.arange(start, stop, step) :创建一个一维数组,其中的值

    2024年02月10日
    浏览(48)
  • 深入探索NumPy:科学计算利器的常用函数大全【第86篇—NumPy常用函数大全】

    在数据科学和机器学习领域,NumPy(Numerical Python)模块是Python中最常用的科学计算库之一。它提供了丰富的功能,包括数组操作、数学函数、统计方法等,为数据处理和分析提供了强大的工具。本文将重点介绍NumPy模块中常用的函数,涵盖字符串处理、数学运算、算术操作、

    2024年02月20日
    浏览(42)
  • 在科学计算领域独领风骚,NumPy书写辉煌传奇

    在数字世界的边缘,有一座神奇的城市,这座城市由无数个数据点和向量构成,街道上流淌着数不清的数组和矩阵。在城市的中心,耸立着一座巨大的科学计算塔,它的外墙是由数学符号和代码构成,散发着闪烁的数字光芒。城里的居民们穿梭于数组的巷道间,驾驭着向量的

    2024年03月24日
    浏览(42)
  • Spring Cloud可视化智慧工地大数据云平台源码(人、机、料、法、环五大维度)

    智慧工地平台 是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的 人、机、料、法、环 五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应

    2024年01月21日
    浏览(51)
  • 智慧农业:温室大棚物联网系统,助力实现可视化科学管理

    我国传统农业的特点是靠天吃饭,而智慧农业发端于物联网设备和对应的农业信息化管理系统,是利用数字技术、数据分析和人工智能等先进技术手段,对农业生产进行精细化管理和智能化决策的一种新型农业生产模式。它可以通过实时监测、预测和调控土壤、气象、水文、

    2024年02月13日
    浏览(61)
  • 【Python数据科学快速入门系列 | 06】Matplotlib数据可视化基础入门(一)

    这是机器未来的第52篇文章 原文首发地址:https://robotsfutures.blog.csdn.net/article/details/126899226 【Python数据科学快速入门系列 | 01】Numpy初窥——基础概念 【Python数据科学快速入门系列 | 02】创建ndarray对象的十多种方法 【Python数据科学快速入门系列 | 03】玩转数据摘取:Numpy的索引

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包