24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1402  |  回复: 6

glazio

铁虫 (小有名气)

[交流] python让人头大的数组,这个例子有人可以解释一下吗?已有5人参与

import numpy as np
a = np.array( [1,2,3] )
b = np.array( [[1,2,3]] )
c = np.array( [[1],[2],[3]] )

a、b和c的shape分别为(3,)  (1,3) 和 (3,1)。有人可以解释下a和b的shape差别吗?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanghl11

铜虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
np.array([[[1],[2],[3]]]).shape
看下这个,就明白了!
活着,就是为了创造奇迹!
2楼2012-07-25 18:53:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
a是一位数组,b和c是二维数组,所以b是1行3列,c是3行一列,他们可以相互转换
CODE:
>>> b = np.array( [[1,2,3]] )
>>> b
array([[1, 2, 3]])
>>> b.ndim
2
>>> b.shape=(3,)
>>> b.ndim
1
>>> b.shape=(3,1)
>>> b
array([[1],
       [2],
       [3]])
>>> b.ndim
2

3楼2012-07-25 19:42:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


小木虫: 金币+0.5, 给个红包,谢谢回帖
python的numpy这个库做矩阵运算的确方便
你就记住一点,几层]]结束就是记为数组
CODE:

a = np.array( [1,2,3] ) ===> 3] # 一个]结束,一维数组
b = np.array( [[1,2,3]] ) ===> 3]] # 2个]]结束,二维数组
c = np.array( [[1],[2],[3]] ) ===> 3]] # 2个]]结束,二维数组

搞明白了数组的维数,剩下的就简单了,数组的数组就是(原数组维数加1)维数组
a,一维数组,也就是个vector
b,二维数组,但是里面只有一个[],就是1*len([]) = 1*3的尺寸
c,二维数组,但是里面有3个[],就是3*len[] = 3*1的尺寸
shape类似matlab的size,参照这看很清楚
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-07-25 20:21:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

glazio

铁虫 (小有名气)

各位给的例子都很好,谢谢!
5楼2012-08-23 12:23:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lhtlyy

铁虫 (初入文坛)

《python科学计算》上numpy啊sympy啊这些模块讲的挺清楚。深入的可以看看numpy的文档或教程。
gentoo linux user, C python lisp hacker
6楼2012-09-22 10:57:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (正式写手)

本帖仅楼主可见
7楼2013-03-16 22:03:55
已阅   申请程序强帖   回复此楼   编辑   查看我的主页
相关版块跳转 我要订阅楼主 glazio 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见