一个通用的函数,或者 ufunc ,是一个在ndarrays的数据上进行基于元素(element-wise)的操作的函数。
NumPy数组也可以使用 sort 方法就地排序,多维数组可以通过传递一个坐标轴数到 sort ,对一维截面上的数据进行就地排序。
>>> arr = randn(5, 3) >>> arr array([[-0.7139, -1.6331, -0.4959], [ 0.8236, -1.3132, -0.1935], [-1.6748, 3.0336, -0.863 ], [-0.3161, 0.5362, -2.468 ], [ 0.9058, 1.1184, -1.0516]]) >>> arr.sort(1) >>> arr array([[-1.6331, -0.7139, -0.4959], [-1.3132, -0.1935, 0.8236], [-1.6748, -0.863 , 3.0336], [-2.468 , -0.3161, 0.5362], [-1.0516, 0.9058, 1.1184]])p.save 和 np.load 能有效的保存和加载磁盘数据。数组默认保存为未经过压缩的原始二进制数据,文件扩展名为 .npy 。
>>> arr = np.arange(10) >>> np.save('some_array', arr) >>> np.load('some_array.npy') array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])可以使用 np.savez 并以关键字参数传递数组来保存多个数组到一个zip的归档文件中。
np.loadtxt 可以用来加载文本文件,函数有许多选项,允许你指定不同的分割符,特定列的转换函数,跳过某些行,和其它的事情。 例如:
>>> !cat array_ex.txt 0.580052,0.186730,1.040717,1.134411 0.194163,-0.636917,-0.938659,0.124094 -0.126410,0.268607,-0.695724,0.047428 -1.484413,0.004176,-0.744203,0.005487 2.302869,0.200131,1.670238,-1.881090 -0.193230,1.047233,0.482803,0.960334 >>> arr = np.loadtxt('array_ex.txt', delimiter=',') #以逗号为分隔符来分割文件 >>> arr array([[ 0.5801, 0.1867, 1.0407, 1.1344], [ 0.1942, -0.6369, -0.9387, 0.1241], [-0.1264, 0.2686, -0.6957, 0.0474], [-1.4844, 0.0042, -0.7442, 0.0055], [ 2.3029, 0.2001, 1.6702, -1.8811], [-0.1932, 1.0472, 0.4828, 0.9603]])