一.文件操作
a.二进制文件操作 b.文本文件
.npy/.npz文件:二进制文件,必须通过numpy来操作
arr3=np.random.random(20).reshape((10,2))
np.save("arr.npy",arr3)
np.load("arr.npy")
'''array([[ 0.71585413, 0.7233967 ],
[ 0.42144233, 0.53173172],
[ 0.36895802, 0.6612081 ],
[ 0.04507593, 0.28499894],
[ 0.39918837, 0.87012763],
[ 0.83120754, 0.18121119],
[ 0.77290246, 0.43848251],
[ 0.37331089, 0.25775575],
[ 0.45142842, 0.18840359],
[ 0.70943353, 0.44261842]])'''
c.多个数组的保存与读取
arr4=np.random.random(30).reshape((5,6))
np.savez("arrz",arr,arr4)
data=np.load("arrz.npz")
print(data)
print(list(data))
print(data['arr_0'])
print(data['arr_1'])
'''
['arr_0', 'arr_1']
[[ 1 2 45 6]
[ 2 56 4 20]
[45 9 20 2]]
[[ 0.95170439 0.33996796 0.16037115 0.83148873 0.39861426 0.33539942]
[ 0.48761587 0.90423246 0.74530735 0.22047632 0.59736046 0.74680116]
[ 0.53852805 0.49016618 0.79825141 0.93276207 0.85054562 0.09070053]
[ 0.48734358 0.51470017 0.21545592 0.11634744 0.33546332 0.61647691]
[ 0.15530945 0.26540829 0.23117325 0.62900999 0.05243874 0.39182679]]
'''
d.text文件保存与读取 (fmt=‘整型/默认浮点型’,deliniter=‘用什么分割’)
np.savetxt('arr2',arr2,fmt='%d',delimiter='/')
arr=np.loadtxt('arr2',delimiter='/',dtype='float')
print(arr)
'''
[[ 2. 1. 2. 1.]
[ 2. 0. 2. 0.]
[ 1. 1. 2. 1.]
[ 2. 0. 2. 0.]]
'''
二.统计分析函数
a.最小值和最大值
arr=np.array([[1,2,45,6],[2,56,4,20],[45,9,20,2]])
print(arr)
'''
[[ 1 2 45 6]
[ 2 56 4 20]
[45 9 20 2]]
'''
print(arr.min())
print(arr.min(axis=1))
print(arr.min(axis=0))
print(arr.max())
print(arr.max(axis=1))
print(arr.max(axis=0))
b.最大值索引,最小值索引
print(arr.argmax())
print(arr.argmin())
print(arr.argmax(axis=1))
print(arr.argmax(axis=0))
print(arr.argmin(axis=1))
print(arr.argmin(axis=0))
c.标准差,方差
print(arr.std())
print(arr.std(axis=1))
print(arr.std(axis=0))
print(arr.var())
print(arr.var(axis=1))
print(arr.var(axis=0))
d.求和与平均值
print(arr.sum())
print(arr.sum(axis=1))
print(arr.sum(axis=0))
print(arr.mean())
print(arr.mean(axis=1))
print(arr.mean(axis=0))
e.累计求和
print(arr.cumsum())
print(arr.cumsum(axis=1))
print(arr.cumsum(axis=0))
'''
[ 1 3 48 54 56 112 116 136 181 190 210 210]
[[ 1 3 48 54]
[ 2 58 62 82]
[45 54 74 74]]
[[ 1 2 45 6]
[ 3 58 49 26]
[48 67 69 26]]
'''
f.累计求积
print(arr.cumprod())
print(arr.cumprod(axis=1))
print(arr.cumprod(axis=0))
'''
[ 1 2 90 540 1080 60480
241920 4838400 217728000 1959552000 536334336 1072668672]
[[ 1 2 90 540]
[ 2 112 448 8960]
[ 45 405 8100 16200]]
[[ 1 2 45 6]
[ 2 112 180 120]
[ 90 1008 3600 240]]
'''