返回信息流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.]]
这是一条镜像帖。来源:北邮人论坛 / python / #12287同步于 2016/2/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
问一个关于python矩阵的问题
spiritme
2016/2/14镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 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]
【 在 Dogless 的大作中提到: 】
:
: 是这样吗
: [code=py]
: ...................
p=np.array([ai[1] for ai in a if ai[0] in b])
大牛,你这个是我用python运行结果是空啊。