NumPy 读写文件
NumPy文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式。
二进制的文件可能是无法用应用程序打开,需要另外导入工作空间中。
文件列表形式的数据可以用excel或csv等打开的文件。
save函数是以二进制的格式保存数据。 np.save("…/tmp/save_arr",arr) savez函数可以将多个数组保存到一个文件中。 np.savez(’…/tmp/savez_arr’,arr1,arr2) 保存好数据后可以用load函数从二进制的文件中读取数据。 np.load("…/tmp/save_arr.npy") 存储时可以省略扩展名,但读取时不能省略扩展名。
保存数据
读取数据
读取文本格式的数据
savetxt函数是将数组写到某种分隔符隔开的文本文件中。 np.savetxt("…/tmp/arr.txt", arr, fmt="%d", delimiter=",")
loadtxt函数执行的是把文本格式的文件加载到一个二维数组中。 np.loadtxt("…/tmp/arr.txt",delimiter=",")
genfromtxt函数面向的是结构化数组和缺失数据。 np.genfromtxt("…/tmp/arr.txt", delimiter = “,”)
使用数组进行简单的统计分析
1. 直接排序
sort函数是最常用的排序方法。 arr.sort() sort函数也可以指定一个axis参数,使得它可以沿着指定轴对数据集进行排序。axis=1为沿横轴排序; axis=0为沿纵轴排序
2. 间接排序
argsort函数返回值为重新排序值的下标。 arr.argsort() lexsort函数返回值是按照最后一个传入数据排序的。 np.lexsort((a,b,c))
3. 去重与重复数据
通过unique函数可以找出数组中的唯一值并返回已排序的结果。
tile函数主要有2个参数,“A”指定重复的数组,“reps”指定重复的次数。 np.tile(A,reps)
repeat函数主要有三个参数,参数“a”是需要重复的数组元素,参数“repeats”是重复次数,参数“axis”指定沿着哪个轴进行重复,axis = 0表示按行进行元素重复;axis = 1表示按列进行元素重复。 numpy.repeat(a, repeats, axis=None)
这两个函数的主要区别在于,tile函数是对数组进行重复操作,repeat函数是对数组中的每个元素进行重复操作。
4. 常用的统计函数
- 当axis=0时,表示沿着纵轴计算。
- 当axis=1时,表示沿着横轴计算。
- 默认时计算一个总值。
函数 | 说明 |
---|
sum | 计算数组的和 | mean | 计算数组均值 | std | 计算数组标准差 | var | 计算数组方差 | min | 计算数组最小值 | max | 计算数组最大值 | argmin | 返回数组最小元素的索引 (min所在的位置) | argmax | 返回数组最小元素的索引(max所在的位置) | cumsum | 计算所有元素的累计和 | cumprod | 计算所有元素的累计积 |
练习题
读取iris数据集中的花萼长度数据(已保存为csv格式),并对其进行排序、去重,并求出和、累积和、均值、标准差、方差、最小值、最大值
错题集
|