python numpy读取txt文件_Numpy用于数据存储和读取

本文介绍了Python的Numpy模块在数据存储和读取方面的应用,包括使用numpy.save和numpy.load进行二进制文件操作,numpy.savetxt和numpy.loadtxt处理文本文件,以及numpy.savez和numpy.savez_compressed用于存储多个数组。详细阐述了各种函数的调用格式和参数,提供了丰富的示例代码。
摘要由CSDN通过智能技术生成

Python的Numpy模块可用于存储和读取数据:

1.将一个数组存储为二进制文件

.npy的格式保存为二进制文件

调用格式:Numpy.save(file, arr, allow_pickle=True, fix_imports=True)

file的格式:file,str,or pathlib.Path.如果file是一个文件对象,则文件名不会被改变;如果file是一个字符串或者路径,并且没有 .npy扩展,则会在后面加上 .npy的扩展

arr: 要保存的数组对象

.npy .npz或者pickled文件中加载数组或者pickled对象

调用格式:Numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII')

file的格式:file-like object, string, or pathlib.Path.类似文件对象(file_like object)必须支持seek()和read()方法。pickled文件要求file_like object必须支持readline()方法

encoding:读取python 2中的字符串时使用的编码方式。仅当在Python 3中加载Python 2生成的pickled文件时有用,该文件包括含有对象数组的npy / npz文件。不允许使用“ latin1”,“ ASCII”和“ bytes”以外的其他值,因为它们会破坏数字数据。默认值:“ ASCII”

返回:数组、元组或者字典等

例如:

importnumpy as np

arr= np.arange(12).reshape(3,4)#保存arr数组

np.save('arr.npy', arr)#读取arr文件

a =np.load('arr.npy')print(a)

2.将一个数组存储为文本文件

调用格式:Numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='n', header='', footer='', comments='# ', encoding=None)

fname:filename or file handle. 如果文件名以.gz结尾,文件将自动保存为gzip的压缩格式

X:要保存的一维或者二维数组对象

fmt:规定保存的数组元素类型,默认为%.18e

delimiter:字符串或者字符,用来分隔列,默认为空格

调用格式:Numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converts=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None)

fname:要读取的文件,可以是.gz或者.bz2的压缩文件

dtype:指定数组的数据类型,默认为float

delimiter:用于分隔元素,要与文件中的分割符一致,默认为空格

返回:ndarray

例如:

importnumpy as np

arr= np.arange(12).reshape(3,4)#将一个数组保存为csv文件

np.savetxt('arr.csv', arr, delimiter=',')#读取文件

arr_file = np.loadtxt('arr.csv', dtype=np.int, delimiter=',')print(arr_file)

3.将多个数组存入一个文件

Numpy.savez:将多个数组以未压缩的.npz格式存入一个文件中

调用格式:Numpy.savez(file, *args, **kwds)

如果传入的数组参数没有给相应的键,则函数会自动给每个数组参数一个名字,从arr_0、arr_1、arr_2依次递推;如果给定了键,则可以用给定的键。

例如:

importnumpy as np

arr1= np.arange(12).reshape(3, 4)

arr2= np.random.randint(0, 12, (3, 4))#不给数组参数相应的键

np.savez('array.npz', arr1, arr2)

f= np.load('array.npz')print(f['arr_0'])print(f['arr_1'])#给数组参数相应的键

np.savez('array2.npz', arr1=arr1, arr2=arr2)

f2= np.load('array2.npz')print(f2['arr1'])print(f2['arr2'])

4.将多个数组以压缩的形式存入一个文件

Numpy.savez_compressed:将多个数组以压缩后的.npz格式保存到一个文件中

调用格式:Numpy.savez_compressed(file, *args, **kwds)

savez_compressed的用法与savez类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值