less than 1 minute read

官网 http://www.numpy.org/
功能:一个常用的科学计算库;

1 安装

pip install numpy

2 基本操作

         
数组拼接 比较      
         
         

np.fromiter 怎么用;

数组拼接

两/多个数组

a_list.extend(b_list) # 一维拼接,耗时,改变了 a_list
np.append(a_list, b)
np.append(a_list,b_list)   # 返回一维数组,不修改原数组,不支持3个及以上元素拼接
np.append(a_list_n, b_list_n)  # 所有元素会被展开
np.concatenate((a_list, b_list, c_list), axis=0)  # 默认 axis=0(按列拼接) 效率高

同一个数组

# 元素复制
a.repeat([3,2],axis=1)  # 横向重复,第一列复制三次,第二列复制两次
# 数组复制
np.tile(a, (3,2))       # 纵向复制三次,横向复制两次

比较

c = np.argwhere(a != b) # a 和 b 不相等的元素的下标

3 cv 操作

         
BGR2RGB        
         
         

通道转换

rgb = bgr[...,::-1]
bgr = rgb[...,::-1]
gbr = rgb[...,[2,0,1]] # 还是 [2,1,0]

4 Issue

np.fromiter 怎么用;

  1. 内存泄漏
    1) 问题:array flatten 等操作都要重新申请内存,且不释放;
    2) 解决:用 numpy.fromiter(d[1:],dtype=float) 来代替 array 操作即可;

End

附录

A 参考文献

  1. numpy 中文文档

Comments