鱼C论坛

 找回密码
 立即注册
查看: 766|回复: 4

[已解决]数组的轴

[复制链接]
发表于 2021-8-29 11:01:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教群里高手:

numpy里的数组是数学上的矩阵吧?所谓的轴又是什么呢?以下代码:

>>> import numpy as np
>>> a = np.array([[1,2,3,4],[5,6,7,8],[7,8,9,10]])
>>> a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 7,  8,  9, 10]])
>>> a.reshape(2,6)
array([[ 1,  2,  3,  4,  5,  6],
       [ 7,  8,  7,  8,  9, 10]])
>>> a
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 7,  8,  9, 10]])
>>> a.reshape(2,-1)
array([[ 1,  2,  3,  4,  5,  6],
       [ 7,  8,  7,  8,  9, 10]])

a.shape (2,6)好理解,但是为什么a.shape(2, -1)一样呢?(shape或reshape)
最佳答案
2021-8-29 13:26:41
Geeker_odd 发表于 2021-8-29 13:08
我还是有点疑惑:那它这个-1是啥意思?比如2,6很好理解,就是2行6列。但是-1就把我搞晕了

这有啥不理解,自动帮你算,你原本是个3*4的数组,一共12个数,排列组合只有行数确定了列数一定能确定啊,a.reshape(2, 5)会报错,a.reshape(2, 7)也会报错,所以你手动输入(2,6)跟它自动计算是一样的啊,指定-1就是自动计算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-29 11:39:01 | 显示全部楼层
-1 是自动匹配,reshape 指定行数后,-1 的话自动帮你算好列数,其实跟你的 reshape(2, 6)是一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-29 13:08:54 | 显示全部楼层
louxinghao 发表于 2021-8-29 11:39
-1 是自动匹配,reshape 指定行数后,-1 的话自动帮你算好列数,其实跟你的 reshape(2, 6)是一样的

我还是有点疑惑:那它这个-1是啥意思?比如2,6很好理解,就是2行6列。但是-1就把我搞晕了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-29 13:26:41 | 显示全部楼层    本楼为最佳答案   
Geeker_odd 发表于 2021-8-29 13:08
我还是有点疑惑:那它这个-1是啥意思?比如2,6很好理解,就是2行6列。但是-1就把我搞晕了

这有啥不理解,自动帮你算,你原本是个3*4的数组,一共12个数,排列组合只有行数确定了列数一定能确定啊,a.reshape(2, 5)会报错,a.reshape(2, 7)也会报错,所以你手动输入(2,6)跟它自动计算是一样的啊,指定-1就是自动计算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-29 16:02:25 | 显示全部楼层
louxinghao 发表于 2021-8-29 13:26
这有啥不理解,自动帮你算,你原本是个3*4的数组,一共12个数,排列组合只有行数确定了列数一定能确定啊 ...

懂了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 21:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表