如何解决意外尺寸的numpy数组
我目前正在从Matlab切换到Python,并且在理解numpy数组时遇到问题。
以下代码(从Numpy文档复制)创建一个[2x3]数组
np.array([[1,2,3],[4,5,6]],np.int32)
。
行为符合预期。
现在我试图根据自己的情况进行调整并尝试
myArray = np.array([\
[-0.000847283,0.000000000,0.141182070,2.750000000],[ 0.000876414,-0.025855453,0.270459334,2.534537894],[-0.000098373,0.003388169,-0.021976882,3,509325279],[ 0.000077079,-0.004507202,0.096453685,917172446],[-0.000049944,0.003114201,-0.055974372,933359490],[ 0.000042697,-0.003833862,0.117727186,2.485846507],[-0.000000843,0.000084733,0.000169340,3.661424974],[ 0.000000676,-0.000074756,0.005751451,3.596300338],[-0.000001860,0.000229543,-0.006420507,3.758593109],[ 0.000006764,-0.000934745,0.045972458,2.972698644],[ 0.000014803,-0.002140505,0.106260454,1.967898711],[-0.000025975,0.004587858,-0.263799480,8.752330828],[ 0.000009098,-0.001725357,0.114993424,1.176472749],[-0.000010418,0.002080207,-0.132368251,6.535975709],[ 0.000032572,-0.006947575,0.499576502,-8.209401868],[-0.000039870,0.009351884,-0.722882956,22.352084596],[ 0.000046909,-0.011475011,0.943268640,-22.078624629],[-0.000067764,0.017766572,-1.542265901,48.344854010],[ 0.000144148,-0.039449875,3.607214322,-106.139552662],[-0.000108830,0.032648910,-3.242170215,110.757624352]
])
但形状不是预期的(20,)。我预期形状如下:(20x4)。
问题1:有人可以告诉我为什么吗?以及如何正确创建数组?
问题2::当我添加数据类型,dtype=np.float
时,我得到以下内容
错误:
*TypeError: float() argument must be a string or a number,not 'list'*
但该数组并非旨在用作列表。
解决方法
在尝试np.vstack
所有向量后,我自己发现了错误。
产生的错误表明,行索引为2、3、4的数组的大小与预期的不是4。
用点代替,(逗号)即可解决问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。