Python中NumPy数组的维度变换解析

 更新时间:2023年09月23日 09:58:07   作者:imxlw00  
这篇文章主要介绍了Python中NumPy数组的维度变换解析,就像我们可以通过向 NumPy 提供列表列表来创建 2D 数组一样,我们可以通过创建列表的列表的列表来创建 3D 数组,需要的朋友可以参考下

 NumPy 数组的维度变换

在这里插入图片描述

reshape

numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(arr, newshape, order=‘C’) arr:要修改形状的数组 newshape:整数或者整数数组,新的形状应当兼容原有形状 order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。

import numpy as np
a = np.arange(8)
print ('原始数组:')
print (a)
print ('\n')
b = a.reshape(4,2)
print ('修改后的数组:')
print (b)
原始数组:
[0 1 2 3 4 5 6 7]
修改后的数组:
[[0 1]
 [2 3]
 [4 5]
 [6 7]]

flatten

numpy.ndarray.flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组,格式如下:

ndarray.flatten(order=‘C’) order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘K’ – 元素在内存中的出现顺序。

import numpy as np
a = np.arange(8).reshape(2,4)
print ('原数组:')
print (a)
print ('\n')
# 默认按行
print ('展开的数组:')
print (a.flatten())
print ('\n')
print ('以 F 风格顺序展开的数组:')
print (a.flatten(order = 'F'))
原数组:
[[0 1 2 3]
 [4 5 6 7]]
展开的数组:
[0 1 2 3 4 5 6 7]
以 F 风格顺序展开的数组:
[0 4 1 5 2 6 3 7]

swapaxes

numpy.swapaxes 函数用于交换数组的两个轴,格式如下:

numpy.swapaxes(arr, axis1, axis2) arr:输入的数组 axis1:对应第一个轴的整数 axis2:对应第二个轴的整数

import numpy as np
# 创建了三维的 ndarray
a = np.arange(8).reshape(2,2,2)
print ('原数组:')
print (a)
print ('\n')
# 现在交换轴 0(深度方向)到轴 2(宽度方向)
print ('调用 swapaxes 函数后的数组:')
print (np.swapaxes(a, 2, 0))
原数组:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
调用 swapaxes 函数后的数组:
[[[0 4]
  [2 6]]
 [[1 5]
  [3 7]]]

resize

numpy.resize 函数返回指定大小的新数组。

如果新数组大小大于原始大小,则包含原始数组中的元素的副本。

numpy.resize(arr, shape) arr:要修改大小的数组 shape:返回数组的新形状

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print ('第一个数组:')
print (a)
print ('\n')
print ('第一个数组的形状:')
print (a.shape)
print ('\n')
b = np.resize(a, (3,2))
print ('第二个数组:')
print (b)
print ('\n')
print ('第二个数组的形状:')
print (b.shape)
print ('\n')
# 要注意 a 的第一行在 b 中重复出现,因为尺寸变大了
print ('修改第二个数组的大小:')
b = np.resize(a,(3,3))
print (b)
第一个数组:
[[1 2 3]
 [4 5 6]]
第一个数组的形状:
(2, 3)
第二个数组:
[[1 2]
 [3 4]
 [5 6]]
第二个数组的形状:
(3, 2)
修改第二个数组的大小:
[[1 2 3]
 [4 5 6]
 [1 2 3]]

在这里插入图片描述

在这里插入图片描述

到此这篇关于Python中NumPy数组的维度变换解析的文章就介绍到这了,更多相关NumPy数组维度变换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python应用库大全总结

    Python应用库大全总结

    本篇文章给大家分享了Python应用库大全的相关内容,对此有需要的可以学习下。
    2018-05-05
  • python 图片验证码代码

    python 图片验证码代码

    在网络应用中,验证码常常作为一个必备的手段,用来避免机器人恶意注册,保证坐在浏览器前的是一个人。
    2008-12-12
  • python将天数转换为日期字符串的方法实例

    python将天数转换为日期字符串的方法实例

    这篇文章主要给大家介绍了关于python将天数转换为日期字符串的相关资料,以及将将字符串的时间转换为时间戳的实例代码,需要的朋友可以参考下
    2022-01-01
  • Python实现的井字棋(Tic Tac Toe)游戏示例

    Python实现的井字棋(Tic Tac Toe)游戏示例

    这篇文章主要介绍了Python实现的井字棋(Tic Tac Toe)游戏,结合实例形式分析了井字棋的原理及Python相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • Python编程源码报错解决方法总结经验分享

    Python编程源码报错解决方法总结经验分享

    这篇文章主要介绍了在平时Python编程工作中一些源码报错的解决方法总结经验分享,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • Python列表如何更新值

    Python列表如何更新值

    在本篇内容中小编给大家整理的是一篇关于Python列表如何更新值的知识点,需要的朋友们可以学习下。
    2020-05-05
  • 6个Python办公黑科技,助你提升工作效率

    6个Python办公黑科技,助你提升工作效率

    这篇文章主要介绍了Python办公黑科技,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-08-08
  • 初学Python函数的笔记整理

    初学Python函数的笔记整理

    这篇文章主要介绍了初学Python函数的整理笔记,包括一些基础的参数使用方法以及匿名函数等特性的使用,需要的朋友可以参考下
    2015-04-04
  • python微信好友数据分析详解

    python微信好友数据分析详解

    这篇文章主要为大家详细介绍了python微信好友数据分析,实现对微信好友的获取,并对省份、性别等数据分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python双版本计算器详解

    Python双版本计算器详解

    这篇文章主要介绍了如何用Python制作计算器,文章中有两个版本,代码详细,适合绝大部分朋友,如果你对python如何制作计算器有兴趣,可以参考下这篇文章
    2021-04-04

最新评论