numpy genfromtxt 读取字符_numpy组队学习1: 输入输出
內(nèi)容來源:
組隊學(xué)習(xí)?datawhale.club
import numpy as np
- npy格式:以二進制的方式存儲文件,在二進制文件第一行以文本形式保存了數(shù)據(jù)的元信息(ndim,dtype,shape等),可以用二進制工具查看內(nèi)容。
- npz格式:以壓縮打包的方式存儲文件,可以用壓縮軟件解壓
np的讀取和保存
- 讀取: numpy.save(file, arr, allow_pickle=True, fix_imports=True) Save an array to a binary file in NumPy .npy format.
- 保存: numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding='ASCII') Load arrays or pickled objects from .npy, .npz or pickled files.
保存一系列數(shù)組
- 函數(shù): numpy.savez(file, *args, **kwds) Save several arrays into a single file in uncompressed .npz format.,第一個參數(shù)是輸出的文件名,隨后參數(shù)都是需要保存的數(shù)組,不寫關(guān)鍵字參數(shù)的話,數(shù)組默認是arr_0開始命名
- 輸出的是一個壓縮文件,擴展名為npz,但是npz壓縮文件中的每一個文件都是save()類型保存的npy文件,文件的名字就是數(shù)組名字
- load()自動識別npz文件,并且返回一個類似于字典的對象,可以通過數(shù)組名作為關(guān)鍵字獲取數(shù)組的內(nèi)容。
文本文件處理
- savetxt(),loadtxt()和genfromtxt()函數(shù)用來存儲和讀取文本文件(如TXT,CSV等)。genfromtxt()比loadtxt()更加強大,可對缺失數(shù)據(jù)進行處理。
- numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='n', header='', footer='', comments='# ', encoding=None) Save an array to a text file.
- numpy.loadtxt(fname, dtype=float, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None) Load data from a text file.
- numpy.genfromtxt(fname, dtype=float, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=''.join(sorted(NameValidator.defaultdeletechars)), replace_space='_', autostrip=False, case_sensitive=True, defaultfmt="f%i", unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None, encoding='bytes') Load data from a text file, with missing values handled as specified.names:設(shè)置為True時,程序?qū)训谝恍凶鳛榱忻Q
文本輸出格式選擇
np.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, --kwarg) #設(shè)置打印選項 recision:int or None浮點輸出的精度位數(shù)(默認8)# 如floatmode不是fixed,可能是None
threshold:int觸發(fā)匯總的數(shù)組元素總數(shù)而不是完整的repr(默認1000) edgeitems:int在開頭和結(jié)尾的摘要中的數(shù)組項數(shù) 每個維度(默認為3) linewidth:int每行用于插入的字符數(shù)# 換行符(默認為75) suppress : bool,科學(xué)記數(shù)法啟用 # True用固定點打印浮點數(shù)符號,當前精度中的數(shù)字等于零將打印為零。 # False用科學(xué)記數(shù)法;最小數(shù)絕對值是<1e-4或比率最大絕對值> 1e3。默認值False nanstr:str浮點非字母數(shù)字的字符串表示形式(默認為nan) infstr:str浮點無窮大字符串表示形式(默認inf) sign:string,' - ','+'或'',控制浮點類型符號的打印。 # '+'打印正值標志。''打印空格。' - '省略正值符號,默認
formatter:可調(diào)用字典,格式化功能 # 格式化設(shè)置類型: - 'bool' - 'int' - 'timedelta':'numpy.timedelta64' - 'datetime':numpy.datetime64 - 'float' - 'longfloat':128位浮點數(shù) - 'complexfloat' - 'longcomplexfloat':由兩個128位浮點組成 - 'numpystr' : types numpy.string_ and numpy.unicode_ - 'object' : np.object_ arrays - 'str':所有其他字符串
# 用于一次設(shè)置一組類型的其他鍵:- 'all':設(shè)置所有類型- 'int_kind':設(shè)置'int'- 'float_kind':設(shè)置'float'和'longfloat'- 'complex_kind':設(shè)置'complexfloat'和'longcomplexfloat'- 'str_kind':設(shè)置'str'和'numpystr'floatmode:str控制precision選項的解釋 #浮點類型值: -'fixed':始終打印精確的'precision精度'小數(shù)位 -'unique':打印最小小數(shù)位數(shù),precision選項被忽略。 -'maxprec':打印最多precision小數(shù)位數(shù) -'maxprec_equal':最多打印precision小數(shù)位數(shù)
legacy:string或False # 如為字符串“1.13”,則啟用1.13傳統(tǒng)打印模式。 # 如設(shè)置“False”,禁用傳統(tǒng)模式。無法識別的字符串將被忽略
- numpy.get_printoptions() Return the current print options.返回之前的所有參數(shù)
作業(yè)
第一題: 只打印或顯示numpy數(shù)組rand_arr的小數(shù)點后3位。
- rand_arr = np.random.random([5, 3])【知識點:輸入和輸出】如何在numpy數(shù)組中只打印小數(shù)點后三位?
第二題: 將numpy數(shù)組a中打印的項數(shù)限制為最多6個元素。【知識點:輸入和輸出】
第三題:打印完整的numpy數(shù)組a而不中斷。【知識點:輸入和輸出】
rand_arr = np.random.random([5,3]) # 第一題: 設(shè)置浮點精度 np.set_printoptions(precision=3) print(rand_arr)# 第二題:設(shè)置輸出元素個數(shù) rand_arr = np.arange(10) np.set_printoptions(edgeitems=3)#edgeitems=nums,nums就是左右兩邊省略的數(shù) print(rand_arr)[0 1 2 ... 7 8 9] # 打印完整函數(shù)不中斷 rand_arr = np.arange(10) np.set_printoptions(threshold=float('inf')) print(rand_arr)[0 1 2 3 4 5 6 7 8 9]總結(jié)
以上是生活随笔為你收集整理的numpy genfromtxt 读取字符_numpy组队学习1: 输入输出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 自学系列:用户管理
- 下一篇: 任务栏显示程序详解