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

本文介绍了numpy库中用于数组存入和读取的方法,包括numpy.save()用于保存数组,numpy.load()用于加载数组,以及numpy.savez()用于压缩存储多个数组。在使用numpy.savez()时,数组以'arr_0'等关键字参数形式保存,但读取时需要注意与'0'的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值