数据存储与函数

CSV文件

CSV (Comma‐Separated Value, 逗号分隔值)
CSV是一种常见的文件格式,用来存储批量数据

1
2
3
4
5
np.savetxt(frame, array, fmt='%.18e', delimiter=None)
• frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
• array : 存入文件的数组
• fmt : 写入文件的格式,例如:%d %.2f %.18e
• delimiter : 分割字符串,默认是任何空格

1

1

1
2
3
4
5
np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)
• frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
• dtype : 数据类型,可选
• delimiter : 分割字符串,默认是任何空格
• unpack : 如果True,读入属性将分别写入不同变量

1

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

任意维度数据如何存储?

1
2
3
4
a.tofile(frame, sep='', format='%s')
• frame : 文件、字符串
• sep : 数据分割字符串,如果是空串,写入文件为二进制
• format : 写入数据的格式

1

1

1
2
3
4
5
np.fromfile(frame, dtype=float, count=‐1, sep='')
• frame : 文件、字符串
• dtype : 读取的数据类型
• count : 读入元素个数,‐1表示读入整个文件
• sep : 数据分割字符串,如果是空串,写入文件为二进制

1

1

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

NumPy的便捷文件存储

1
2
3
4
5
np.save(fname, array) 或 np.savez(fname, array)
• fname : 文件名,以.npy为扩展名,压缩扩展名为.npz
• array : 数组变量
np.load(fname)
• fname : 文件名,以.npy为扩展名,压缩扩展名为.npz

1

NumPy的随机数函数

NumPy的random子库

np.random.*

1

1

1

1

1

1

1

1

1

NumPy的统计函数

NumPy直接提供的统计类函数
np.*

1

1

1

1

NumPy的梯度函数

1

梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2

1

1

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
CSV文件
np.loadtxt()
np.savetxt()

多维数据存取
a.tofile() np.fromfile()
np.save() np.savez() np.load()

随机函数
np.random.rand() np.random.randn()
np.random.randint() np.random.seed()
np.random.shuffle() np.random.permutation()
np.random.choice()

NumPy的统计函数
np.sum()
np.mean()
np.average()
np.std()
np.var()
np.median()
np.min()
np.max()
np.argmin()
np.argmax()
np.unravel_index()
np.ptp()

NumPy的梯度函数
np.gradient()

Donate? comment?