Python错误集锦:对numpy数组进行变形操作时,提示ValueError: cannot reshape array of size 24 into shape (3,5)

原文链接:http://www.juzicode.com/archives/3627

错误提示:

对numpy数组进行变形操作时,提示ValueError: cannot reshape array of size 24 into shape (3,5):

#juzicode.com ;#VX: 桔子code
import numpy as np
a = np.arange(24)
b = a.reshape(3,5)
print(b)

=========运行结果:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-fcffbc20744f> in <module>
      2 import numpy as np
      3 a = np.arange(24)
----> 4 b = a.reshape(3,5)
      5 print(b)

ValueError: cannot reshape array of size 24 into shape (3,5)

错误原因:

1、原始数组包含的元素个数为24,试图用reshape修改后的数组为3×5的二维数组,试图生成的数组的元素为3×5=15个,不等于原始数组的元素个数24。

解决方法:

1、改变后的数组形状的每个轴的长度乘积必须等于原始数据元素的个数,上面这个例子中,如果要修改为二维数组,修改后的形状可以是(3,8)或(4,6)等形式:

#juzicode.com ;#VX: 桔子code
import numpy as np
a = np.arange(24)
b = a.reshape(3,8)
print(b)

=====运行结果:
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]

扩展内容:

  1. numpy数组变形方法

关注微信公众号:“桔子code”,欢迎后台留言撩我,我会尽我所能为你解惑Python,C等编程知识

发表评论

电子邮件地址不会被公开。 必填项已用*标注