发表文章

[最新] python数据分析(7)——numpy数组的输入与输出

weixin42695959 3月前 1

numpy数组的存入和读取:

ar=np.random.rand(2,5)
print(ar)
[[0.91231033 0.69470799 0.07200474 0.92224321 0.06462535]
 [0.31852826 0.53709158 0.75866947 0.06308918 0.23054911]]

numpy.save(),存入数组,numpy.load(),读取数组:

np.save('ar.npy',ar)   #将ar储存到扩展名为.npy的文件中
ar_load=np.load('ar.npy')  #读取存储的文件
print(ar_load)
[[0.91231033 0.69470799 0.07200474 0.92224321 0.06462535]
 [0.31852826 0.53709158 0.75866947 0.06308918 0.23054911]]

numpy.savez():将多个数组保存到一个压缩文件中,将数组以关键字参数的形式传入即可。

a=np.random.randint(2,4,size=(2,2))
b=np.random.randint(3.5,size=3)
print(a)
print(b)
[[2 2]
 [3 2]]
[1 0 2]
#这里我原本按照《利用python进行数据分析》上面的代码运行,发生错误:
np.savez('some_array',a=arr,b=arr)  
arload=np.load('some_array.npz')
print(arload['b'])
Traceback (most recent call last):

  File "<ipython-input-59-024733f71d69>", line 1, in <module>
    np.savez('some_array',a=arr,b=arr)

NameError: name 'arr' is not defined
不知道为什么会错误啊,求大神指点(ˉ▽ˉ;)...
百度查询相关资料后,找到了另一种方法,:
np.savez('some_array.npz',a,b)  #多个数组的存储
arload=np.load('some_array.npz')
print(arload['arr_0'])          #读取数组
print(arload['arr_1'])  
[[2 2]
 [3 2]]
[1 0 2]

这里的[‘arr_0’]也让我很懵逼,不知道为什么是这个,但是可以依次读取,为什么arload[0]和arload[‘0’]都不行捏??

txt格式的数组存储与读取:

np.savetxt('ar.txt',ar,delimiter=',')  #delimiter设置分隔符
ar_load1=np.loadtxt('ar.txt',delimiter=',')
print(ar_load1)
[[0.91231033 0.69470799 0.07200474 0.92224321 0.06462535]
 [0.31852826 0.53709158 0.75866947 0.06308918 0.23054911]]
相关推荐
最新评论 (0)
返回
发表文章
weixin42695959
文章数
10
评论数
0
注册排名
1343578