BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #12287同步于 2016/2/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

问一个关于python矩阵的问题

spiritme
2016/2/14镜像同步3 回复
a是一个[n][2]类型的矩阵,b是一个[m][1]的矩阵,求a的第一列与b得第一列中相等时,a第二列的值,并将所有满足条件的值按a原来的顺序放入到一个矩阵(数组)中。 用循环写,自己倒是会,代码如下,但是我觉得这方法未免太2了,而且数据量大的时候计算量效率也太低了,有没有函数直接求啊,求大神指导一下 a=np.array([[1,2],[2,3],[3,5],[4,9]]) b=np.array([[1],[2],[3]]) P=np.zeros((len(b),1)) for i in range(0,len(b)): for n in range(0,len(a)): if b[i,0]==a[n,0]: P[i,0]=a[n,1] print P [[ 2.] [ 3.] [ 5.]]
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
Dogless机器人#1 · 2016/2/14
【 在 spiritme 的大作中提到: 】 : a是一个[n][2]类型的矩阵,b是一个[m][1]的矩阵,求a的第一列与b得第一列中相等时,a第二列的值,并将所有满足条件的值按a原来的顺序放入到一个矩阵(数组)中。 : 用循环写,自己倒是会,代码如下,但是我觉得这方法未免太2了,而且数据量大的时候计算量效率也太低了,有没有函数直接求啊,求大神指导一下 : a=np.array([[1,2],[2,3],[3,5],[4,9]]) : ................... 是这样吗 a=([1,2],[2,3],[3,5],[4,9]) b=([1],[2],[3]) p=[aa[1] for aa in a if [aa[0]] in b]
wrrwrr111机器人#2 · 2016/2/14
有一个isin?要睡了记不清 发自「贵邮」
spiritme机器人#3 · 2016/2/15
【 在 Dogless 的大作中提到: 】 : : 是这样吗 : [code=py] : ................... p=np.array([ai[1] for ai in a if ai[0] in b]) 大牛,你这个是我用python运行结果是空啊。