我有两个形状为(240,480)的数组mp
和长度为N
的形状数组(240,480)的数组。我想创建一个长度为N
的数组,其值来自mp
,但对于POP_FTS_NORM中的每个数组x
,只有x
的元素!=0。
低效代码:
full_mp = np.array([np.array([mp[i][j] if (x != 0)[i][j] is True else 0 for i in range(240) for j in range(480)]).reshape(240, 480) for x in pop_fts_norm], dtype='float32')
full_mp.shape
这招管用,但见效很慢。怎样才能更有效率地用Python风格写作呢?
谢谢,佩特鲁
2条答案
按热度按时间bzzcjhmw1#
找到了解决方案。
xxhby3vn2#
您可以将数组中的矩阵转换为一组0和1,然后只需将这两个矩阵按元素相乘即可得到结果: