数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组

摘要:
1修改数组形状函数描述修改形状平面数组元素迭代器平面在形状不改变数据的条件下返回数组的副本,order='C')arr:'k'——元素在内存中出现的顺序。Order='C')参数描述:'K'——元素在内存中出现的顺序。

1 修改数组形状

函数描述
reshape不改变数据的条件下修改形状
flat数组元素迭代器
flatten返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
ravel返回展开数组

numpy.reshape

numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(arr, newshape, order='C')

  • arr:要修改形状的数组
  • newshape:整数或者整数数组,新的形状应当兼容原有形状
  • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第1张

numpy.ndarray.flat

numpy.ndarray.flat 是一个数组元素迭代器,实例如下:

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第2张

numpy.ndarray.flatten

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

ndarray.flatten(order='C')

参数说明:

  • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第3张

numpy.ravel

numpy.ravel() 展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。

该函数接收两个参数:

numpy.ravel(a, order='C')

参数说明:

  • order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第4张

2 翻转数组

函数描述
transpose对换数组的维度
ndarray.T和 self.transpose() 相同
rollaxis向后滚动指定的轴
swapaxes对换数组的两个轴

numpy.transpose

numpy.transpose 函数用于对换数组的维度,格式如下:

numpy.transpose(arr, axes)

参数说明:

  • arr:要操作的数组
  • axes:整数列表,对应维度,通常所有维度都会对换。

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第5张

 数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第6张

numpy.rollaxis

numpy.rollaxis 函数向后滚动特定的轴到一个特定位置,格式如下:

numpy.rollaxis(arr, axis, start)

参数说明:

  • arr:数组
  • axis:要向后滚动的轴,其它轴的相对位置不会改变
  • start:默认为零,表示完整的滚动。会滚动到特定位置。
import numpy as np
 
# 创建了三维的 ndarray
a = np.arange(8).reshape(2,2,2)
 
print ('原数组:')
print (a)
print ('获取数组中一个值:')
print(np.where(a==6))   
print(a[1,1,0])  # 为 6
print ('
')
 
 
# 将轴 2 滚动到轴 0(宽度到深度)
 
print ('调用 rollaxis 函数:')
b = np.rollaxis(a,2,0)
print (b)
# 查看元素 a[1,1,0],即 6 的坐标,变成 [0, 1, 1]
# 最后一个 0 移动到最前面
print(np.where(b==6))   
print ('
')
 
# 将轴 2 滚动到轴 1:(宽度到高度)
 
print ('调用 rollaxis 函数:')
c = np.rollaxis(a,2,1)
print (c)
# 查看元素 a[1,1,0],即 6 的坐标,变成 [1, 0, 1]
# 最后的 0 和 它前面的 1 对换位置
print(np.where(c==6))   
print ('
')

输出结果如下:

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第7张

numpy.swapaxes

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

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

数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组第8张

免责声明:文章转载自《数据可视化基础专题(44):NUMPY基础(9)数组操作(1)修改数组形状/翻转数组》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MongoDB的使用学习之(四)权限设置--用户名、密码、端口==PHP教程:PHPUnit学习笔记(三)测试方法进阶下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL crc32 & crc64函数 提高字符串查询效率

一、CRC32概念 CRC全称为Cyclic Redundancy Check,又叫循环冗余校验。CRC32是CRC算法的一种,常用于校验网络上传输的文件。 二:MySQL里如何利用CRC32来加快查询??? CRC32的基本特征 #1.CRC32函数返回值的范围是0-4294967296(2的32次方减1) #2.相比MD5,CRC32函数很容易碰撞...

UniGui的信息弹出框MessageDlg自定义标题的方法(使用JS动态本地化文本)

UniGui的信息弹出框MessageDlg的原型定义如下: procedure MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; CallBack: TUniDialogCallBackAnonProc); DlgType(对话框架的类型)1、mtC...

urllib的使用

urllib的使用 urllib是python内置的HTTP请求库,包含如下四个模块: request:它是最基本HTTP请求模块,可以用来模拟发送请求,就像在浏览器里输入网址然后按回车一样,只需要传入URL以及额外的参数,就可以模拟实现这个过程了。 error:异常处理模块,如果出现请求错误,可以捕获到这些异常,然后进行重试或其他操作以保证程序不会意外终...

H5_0009:关于HTML5中Canvas的宽、高设置问题

关于HTML5中Canvas的宽、高设置问题 Canvas元素默认宽 300px, 高 150px, 设置其宽高可以使用如下方法(不会被拉伸): 方法一:        <canvas  height="500"></canvas> 方法二:使用HTML5 Canvas API操作 OK        var canvas...

mysql8中窗口函数

引用自: https://blog.csdn.net/yeshang_lady/article/details/102728513 在以前的MySQL版本中是没有窗口函数的,直到MySQL8.0才引入了窗口函数。窗口函数是对查询中的每一条记录执行一个计算,并且这个计算结果是用与该条记录相关的多条记录得到的。 1.窗口函数与聚合函数 窗口函数与聚合函数很像...

MySQL 重连机制

一. coon.ping(reconnect=True) 二. #!/usr/bin/env python # -*-coding:UTF-8-*- import sys, MySQLdb, traceback import time class mysql: def __init__(self, host='...