Numpy数据存取与函数

2018-01-21  本文已影响0人  xin激流勇进

数据的CSV文件存取

CSV只能有效存储一维和二维数组np.savetxt() np.loadtxt()只能有效存取一维和二维数组

np.savetxt(frame, array, fmt='%.18e', delimiter=None)

>>> import numpy as np
>>> a = np.arange(100).reshape(5,20)
>>> np.savetxt('a.csv', a, fmt='%.1f', delimiter=',')

np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)

>>> b = np.loadtxt('a.csv',delimiter=',')
>>> b
array([[  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,
         11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.],
       [ 20.,  21.,  22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,
         31.,  32.,  33.,  34.,  35.,  36.,  37.,  38.,  39.],
       [ 40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,  49.,  50.,
         51.,  52.,  53.,  54.,  55.,  56.,  57.,  58.,  59.],
       [ 60.,  61.,  62.,  63.,  64.,  65.,  66.,  67.,  68.,  69.,  70.,
         71.,  72.,  73.,  74.,  75.,  76.,  77.,  78.,  79.],
       [ 80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,  88.,  89.,  90.,
         91.,  92.,  93.,  94.,  95.,  96.,  97.,  98.,  99.]])
>>> b = np.loadtxt('a.csv',delimiter=',', dtype=np.int)
>>> b
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
        17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
        37, 38, 39],
       [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
        57, 58, 59],
       [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
        77, 78, 79],
       [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
        97, 98, 99]])

多维数据的存取

该方法需要读取时知道存入文件时数组的维度和元素类型a.tofile()和np.fromfile()需要配合使用可以通过元数据文件来存储额外信息

a.tofile(frame, sep='', format='%s')

>>> a.tofile('b.dat', sep=',',format='%d')

np.fromfile(frame, dtype=float, count=‐1, sep='')

>>> np.fromfile(a, dtype=float, sep='')

NumPy的便捷文件存取

np.save(fname, array) 或 np.savez(fname, array)

np.load(fname)

上一篇 下一篇

猜你喜欢

热点阅读