首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python - numpy重塑

Python - numpy重塑
EN

Stack Overflow用户
提问于 2017-03-02 16:53:40
回答 4查看 3.5K关注 0票数 2

我偶然发现了这行使用numpy的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
img = data.reshape(data.shape[0], 3, 32, 32)

我理解这行代码,除了data.shape[0]。我所知道的是,这部分将返回行数。但是,我没有得到的是,如何使用3-channelsdata (即行)重塑为32x32矩阵。为什么不单独使用data

也许我把事情搞混了?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2017-03-02 17:13:27

重塑矩阵时,新形状应与原始形状兼容。

为了动态地确保这一点,此代码使用data.shape来获取原始矩阵的行数(即data的第一个维度)。了解了这一点,它将矩阵重塑为定义为:row|3|32|32的4维矩阵。

正如您所指出的,可以使用数组本身,因此此代码不会检查行数的有效性,而是使用行数来确保在整形过程中不会将行元素拖入新列。

票数 3
EN

Stack Overflow用户

发布于 2017-03-02 17:30:23

重塑不能改变数据的大小,但它可以改变维数。如果原始形状为(10x3072)(10x3x1024),则可以将整个数组重塑为10x3x32x32,但不能重塑为9x3x32x32

显然,这段代码的目的是保持第一维不变,并重塑数组的其余部分。无论data的实际形状是什么,如果img的大小为N*3072时,data将始终为Nx3x32x32。否则这将抛出一个错误。

可能编写代码的人不知道您可以将-1传递给reshape以自动设置一个维度的大小:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
img = data.reshape(-1, 3, 32, 32)

这是可能的,因为数据的总大小必须保持不变。

为什么不单独使用数据?

在不知道之前的数据形状的情况下很难说,但从名称img我可以推断,重塑的数组很可能包含n 32x32RGB图像的集合。

票数 2
EN

Stack Overflow用户

发布于 2017-03-02 16:58:39

一种可能有意义的方法是,如果您确切地知道最终的维度是如何组织的,但您不确切地知道有多少行;例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
In [9]: data.shape
Out[9]: (5, 3072)

In [7]: img = data.reshape(data.shape[0], 3, 32, 32)  # 3072 = 3*32*32

In [10]: img.shape
Out[10]: (5, 3, 32, 32)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42561313

复制
相关文章
在Python机器学习中如何索引、切片和重塑NumPy数组
在Python中,数据几乎被普遍表示为NumPy数组。
用户9527
2018/02/02
19.2K0
numpy笔记_python numpy array
ndarray的可以对整块数据执行数学运算,语法与标量元素的元素的运算一致。 如:
全栈程序员站长
2022/09/20
6240
Python:Numpy详解
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
用户7886150
2021/01/03
3.6K0
python numpy random
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u012436149/article/details/53706566
ke1th
2019/05/29
4370
Python NumPy 基础
这两天读完《利用Python进行数据分析》 这本书的第4章:NumPy 基础:数组和矢量计算 后,在进行下一步阅读高级应用前,先整理本章内容,做个笔记备查,也好加深印象。在往下看前请确保你已经安装了NumPy 库,并且已经使用 import numpy as np 加载numpy库。如果 还没有安装,那么可以在cmd(windows下)中使用 pip install numpy 命令安装,ubuntu下也可以使用 sudo apt-get install python-numpy 命令安装。
Alan Lee
2019/05/26
1.3K0
Python | Numpy简介
Numpy简介 python标准库中的列表(list)可以当数组用,支持动态内存分配和垃圾收集,列表元素可以是任何对象,功能强大! 列表的缺点: 慢:循环时有各种下标检查和类型检查 占内存多:保存的是对象+指针 NumPy的优点: 两大法宝:多维数组ndarray和通用函数ufunc 面向数值计算,速度快(内置函数逼近c语言) NumPy官方提供丰富的中文资源 如何使用Numpy等python第三方软件包?(如何开外挂?) 先导入再使用,没导入就没法用 如何导入?用import 被import的可以是通过c
GIS与遥感开发平台
2022/04/29
1.4K0
Python | Numpy简介
python-numpy
# 常用库numpy import numpy as np array1 = np.array([1,2,3,4]) print(array1) # [1 2 3 4] array2 = np.array([ [1,2,6,9], [3,4,8,9], [3,5,9,9], [3,5,7,9], ]) print(array2) """ [[1 2] [3 4]] """ print(array1.shape) # (4,) 显示列的数量 print(array2.sh
Dean0731
2020/05/08
5240
python numpy pandas
py笔记 函数的嵌套 def fun1(): def fun2(): def fun3(): print("Hello world!") return fun3 return fun2 a=fun1() # a() fun1()()() Hello world! 函数的闭包 def fun1(x): def fun2(y): print(x+y) return fun2 fun1(2)(3) 5 装饰器
Tim在路上
2020/08/04
1.1K0
Python|Numpy加粗
问题描述 示列 输入: [[0. 0. 0. 0. 0. 1. 0. 0.] [0.0. 0. 0. 0. 1. 0. 0.] [0.0. 0. 0. 0. 1. 0. 0.] [0.0. 0. 0. 1. 0. 0. 0.] [0.0. 0. 1. 0. 0. 0. 0.] [0.0. 1. 0. 0. 0. 0. 0.] [1.1. 1. 0. 0. 0. 0. 0.] [0.0. 0. 0. 0. 0. 0. 0.]] 输出: [[0. 0. 0. 0. 1. 1. 1. 0.] [
算法与编程之美
2020/07/02
1.2K0
python之numpy
list1=[[“张三”,180,23], [“李四”,190,21]] list1=[[“张三”,180,23], [“李四”,190,21]] In [2]:
用户7886150
2021/01/03
4390
Python 之NumPy
NumPy的主要对象是同质的多维数组。它是一个有明确索引的相同类型的元素组成的表。在NumPy中维度称之为轴,轴数称之为列。
py3study
2020/01/13
6610
Python进阶:NumPy
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。这种扩展库可以用来存储和处理大型多维矩阵,比Python自身的列表结构要高效很多。
披头
2019/12/26
9960
「Python」Numpy equiva
转自Stackoverflow。备忘用。 Question I want to create a MATLAB-like cell array in Numpy. How can I accompli
py3study
2020/01/19
4850
python numpy 总结
在阅读这个教程之前,你多少需要知道点python。如果你想重新回忆下,请看看Python Tutorial.
用户7886150
2021/01/06
8060
python numpy 初识
numpy是python的一个第三方模块,以多维数组对象为核心,提供了强大的科学计算能力和超快的运行速度,常和scipy, matplotlib等模块一起协同作用,是python中科学计算相关的基础模块。
生信修炼手册
2020/06/04
5070
Python Numpy 数组
NumPy(Numeric Python,以numpy导入)是一系列高效的、可并行的、执行高性能数值运算的函数的接口。numpy模块提供了一种新的Python数据结构——数组(array),以及特定于该结构的函数工具箱。该模块还支持随机数、数据聚合、线性代数和傅里叶变换等非常实用的数值计算工具。
smartsi
2019/08/07
2.4K0
python>>numpy包
每个循环 178 μs ± 3.98 μs(7 次运行,每次 10,000 次循环)。
用户10271432
2022/12/19
7380
python>>numpy包
Python Numpy简介
该文介绍了如何使用Numpy库进行科学计算,包括创建数组、广播、数学运算、逻辑运算、形状操作、排序、选择、I/O、离散傅里叶变换、基本线性代数、基本统计运算和随机模拟等。其中,Numpy库中最核心的部分是ndarray对象,它封装了同构数据类型的n维数组,提供了丰富的方法和属性,使得对数组的操作更加高效和简单。此外,Numpy还提供了用于科学计算的函数和操作,包括数学运算、逻辑运算、形状操作、排序、选择、I/O、离散傅里叶变换、基本线性代数、基本统计运算和随机模拟等。
chaibubble
2018/01/02
1K0
python安装numpy后pycharm导入不了_python的numpy库
在pycharm中安装numpy时报错 ValueError: check_hostname requires server_hostname 始终无法安装
全栈程序员站长
2022/09/25
1K0
python安装numpy后pycharm导入不了_python的numpy库
python:numpy详细教程
转自 http://blog.chinaunix.net/uid-21633169-id-4408596.html
用户7886150
2021/01/07
1.2K0

相似问题

Python numpy重塑

113

python: numpy重塑数组

21

Numpy数组重塑定制python

13

使用python/numpy重塑数组

13

Python - numpy mgrid和重塑

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文