最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用NumPy文件的讀寫操作

 更新時(shí)間:2021年04月07日 11:45:13   作者:ChristensonLee  
這篇文章主要介紹了python使用NumPy讀寫文本文件。想了解第三方庫文件操作的同學(xué),來看一下吧

一、使用NumPy讀寫文本文件

在數(shù)據(jù)分析中,經(jīng)常需要從文件中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入文件,常用的存儲(chǔ)文件的格式有文本文件、CSV格式文件、二進(jìn)制格式文件和多維數(shù)據(jù)文件等。

1.將1維或2維數(shù)組寫入TXT文件或CSV格式文件 在NumPy中,使用savetxt()函數(shù)可以將1維或2維數(shù)組寫入后綴名為txt或csv的文件.函數(shù)格式為:

**numpy.savetxt(fname,array,fmt='%.18e',delimiter=None,newline='\n', header='', footer='', comments='# ', encoding=None)**

主要參數(shù):
fname:文件、字符串或產(chǎn)生器,可以是.gz 或.bz2 的壓縮文件
array:存入文件的數(shù)組(一維數(shù)組或者二維數(shù)組)
fmt:寫入文件的格式,如:%d,%.2f,%.18e,默認(rèn)值是%.18e 可選項(xiàng)
delimiter: 分隔符,通常情況是str可選
header:將在文件開頭寫入的字符串
footer:將在文件尾部寫入的字符串
comments: 將附加到header和footer字符串的字符串,以將其標(biāo)記為注釋。
默認(rèn)值:'#' encoding:用于編碼輸出文件的編碼。

import numpy as np
arr = np.arange(12).reshape(3,4)
#fmt缺省取%.18e(浮點(diǎn)數(shù))
#分割符默認(rèn)是空格,寫入文件保存在當(dāng)前目錄
np.savetxt('test-1.txt',arr)
#fmt:%d 寫入文件的元素是十進(jìn)制整數(shù),分割符為逗號",",寫入文件保存在當(dāng)前目錄
np.savetxt('test-2.txt',arr,fmt='%d',delimiter=',')
#在test-3.txt文件頭部和尾部增加注釋,頭部 #test-3,尾部 # 數(shù)據(jù)寫入注釋,寫入文件的元素是字符串
np.savetxt('test-3.txt',arr,fmt='%s',delimiter=',',header=\
  'test-3',footer='測試數(shù)據(jù)',encoding='utf-8')
#在test-4.txt文件頭部加##test-4注釋
np.savetxt('test-4.txt',arr,fmt='%f',delimiter=',',header=
  'test-4',comments='###')
#將arr數(shù)組保存為csv文件
np.savetxt('test-1.csv',arr,fmt='%d',header='test-1')

2.讀取TXT文件和CSV格式文件 在NumPy中,讀取TXT文件和CSV格式文件的函數(shù)是loadtxt(),函數(shù)格式:

numpy.loadtxt(fname,dtype=type'float'>,comments='#',delimiter=None, converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding=‘bytes')
#參數(shù)說明:
fname:被讀取的文件名(文件的相對地址或者絕對地址)
dtype:指定讀取后數(shù)據(jù)的數(shù)據(jù)類型
comments: 跳過文件中指定參數(shù)開頭的行(即不讀取)
delimiter:指定讀取文件中數(shù)據(jù)的分割符
converters: 對讀取的數(shù)據(jù)進(jìn)行預(yù)處理
skiprows:選擇跳過的行數(shù)
usecols:指定需要讀取的列
unpack:選擇是否將數(shù)據(jù)進(jìn)行向量輸出
encoding:對讀取的文件進(jìn)行預(yù)編碼

a = np.loadtxt('test-1.txt') 
#讀入當(dāng)前目錄下的文件 test-1.txt
print(a) 
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
# skiprows:指跳過前1行, 如果設(shè)置skiprows=2, 就會(huì)跳過前兩行,數(shù)據(jù)類型設(shè)置為整型.
a = np.loadtxt('test-1.txt', skiprows=1, dtype=int)
print(a)
[[ 4 5 6 7]
 [ 8 9 10 11]]
# comment, 如果行的開頭為#就會(huì)跳過該行
a = np.loadtxt('test-4.txt', skiprows=2, comments='#',delimiter=',')
b = np.loadtxt('test-4.txt',comments='#',delimiter=',')
print(a,b,sep='\n')
[[ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]
# usecols:指定讀取的列,若讀取0,2兩列
aa = np.loadtxt('test-3.txt',dtype=int, skiprows=1,delimiter=',',usecols=(0, 2))
#unpack是指會(huì)把每一列當(dāng)成一個(gè)向量輸出, 而不是合并在一起。
(a, b) = np.loadtxt('test-2.txt', dtype=int, skiprows=1,
   comments='#', delimiter=',',
   usecols=(0, 2), unpack=True)
print(aa,a, b,sep='\n')
[[ 0 2]
 [ 4 6]
 [ 8 10]]
[4 8]
[ 6 10]
#讀取csv文件
aa = np.loadtxt('test-1.csv',skiprows=1)
print(aa)
[[ 0. 1. 2. 3.]
 [ 4. 5. 6. 7.]
 [ 8. 9. 10. 11.]]

二、使用NumPy讀寫二進(jìn)制文件

1.使用save()或savez()函數(shù)寫二進(jìn)制格式文件

save函數(shù)將數(shù)組以未壓縮的原始二進(jìn)制格式保存在擴(kuò)展名為.npy的文件中。會(huì)自動(dòng)處理元素類型和形狀等信息。
savez函數(shù)將多個(gè)數(shù)組壓縮到一個(gè)擴(kuò)展名為npz的文件,其中每個(gè)文件都是一個(gè)save()保存的npy文件,文件名和數(shù)組名相同
save()或savez()函數(shù)的格式:

numpy.save(file,array)
numpy.savez(file,array)

2.使用load()函數(shù)讀取二進(jìn)制格式文件

load()函數(shù)的格式: numpy.load(file)

import numpy as np
a = np.arange(12).reshape(3,4)
print('原數(shù)組a:\n',a)
np.save('arr1.npy', a) #將數(shù)據(jù)存儲(chǔ)為npy,保存時(shí)可以省略擴(kuò)展名,默認(rèn).npy
c = np.load('arr1.npy') #讀取arr1.npy的數(shù)據(jù),讀取數(shù)據(jù)時(shí)不能省略 .npy
print('讀取后的數(shù)據(jù):\n',c)

ar = np.arange(6).reshape(3,2) 

print('保存前的數(shù)組:',a,ar,sep='\n')
np.savez('arr2.npz',a,ar) #多數(shù)組存儲(chǔ),默認(rèn)文件名.npz
b = np.load('arr2.npz')
print('讀取后的數(shù)據(jù):')
print(b['arr_0'],b['arr_1'],sep='\n')

原數(shù)組a:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
讀取后的數(shù)據(jù):
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
保存前的數(shù)組:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[0 1]
[2 3]
[4 5]]
讀取后的數(shù)據(jù):
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[0 1]
[2 3]
[4 5]]

for i in b.items():
 print(i)
('a', array([[ 0, 1, 2, 3],
 [ 4, 5, 6, 7],
 [ 8, 9, 10, 11]]))
('ar', array([[0, 1],
 [2, 3],
 [4, 5]]))

以上就是python使用NumPy文件的讀寫操作的詳細(xì)內(nèi)容,更多關(guān)于python使用NumPy讀寫文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python中aioysql(異步操作MySQL)的方法

    python中aioysql(異步操作MySQL)的方法

    這篇文章主要介紹了aioysql(異步操作MySQL)-python 的相關(guān)知識,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python入門教程(三十)Python的PIP

    Python入門教程(三十)Python的PIP

    這篇文章主要介紹了Python入門教程(三十)Python的PIP,PIP是Python 包或模塊的包管理器,本章帶你們看一下如何使用PIP命令,需要的朋友可以參考下
    2023-04-04
  • 深入探討Pandas數(shù)據(jù)清洗與高效分析

    深入探討Pandas數(shù)據(jù)清洗與高效分析

    這篇文章主要介紹了深入探討Pandas數(shù)據(jù)清洗與高效分析,Pandas 是 Python 中最強(qiáng)大的數(shù)據(jù)處理庫之一,廣泛應(yīng)用于數(shù)據(jù)分析、統(tǒng)計(jì)建模和科學(xué)計(jì)算領(lǐng)域,本文將深入探討 Pandas 的高階用法,包括數(shù)據(jù)清洗、高效的數(shù)據(jù)操作以及與機(jī)器學(xué)習(xí)結(jié)合的應(yīng)用
    2021-10-10
  • Python文本預(yù)處理學(xué)習(xí)指南

    Python文本預(yù)處理學(xué)習(xí)指南

    文本預(yù)處理是指在進(jìn)行自然語言處理(NLP)任務(wù)之前,對原始文本數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換和標(biāo)準(zhǔn)化的過程,本文主要為大家介紹了文本預(yù)處理的使用,需要的可以參考下
    2023-07-07
  • Python如何檢驗(yàn)樣本是否服從正態(tài)分布

    Python如何檢驗(yàn)樣本是否服從正態(tài)分布

    這篇文章主要介紹了Python如何檢驗(yàn)樣本是否服從正態(tài)分布問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • pytorch模型保存到本地后,如何實(shí)現(xiàn)繼續(xù)訓(xùn)練

    pytorch模型保存到本地后,如何實(shí)現(xiàn)繼續(xù)訓(xùn)練

    在PyTorch中,保存和加載模型對于實(shí)現(xiàn)模型訓(xùn)練的中斷和恢復(fù)非常有用,保存模型主要有兩種方式:一是保存整個(gè)模型包括結(jié)構(gòu)與參數(shù);二是僅保存模型的state_dict,加載模型時(shí),若保存了整個(gè)模型則直接加載,若僅保存了state_dict,則需先實(shí)例化模型結(jié)構(gòu)后加載
    2024-09-09
  • Python基礎(chǔ)學(xué)習(xí)之深淺拷貝問題及遞歸函數(shù)練習(xí)

    Python基礎(chǔ)學(xué)習(xí)之深淺拷貝問題及遞歸函數(shù)練習(xí)

    在實(shí)際工作中,經(jīng)常涉及到數(shù)據(jù)的傳遞。這篇文章主要為大家介紹了Python的一些基礎(chǔ)學(xué)習(xí):深拷貝與淺拷貝問題、遞歸函數(shù)的練習(xí),需要的朋友可以參考一下
    2021-12-12
  • python GUI庫圖形界面開發(fā)之PyQt5線程類QThread詳細(xì)使用方法

    python GUI庫圖形界面開發(fā)之PyQt5線程類QThread詳細(xì)使用方法

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5線程QThread類詳細(xì)使用方法,需要的朋友可以參考下
    2020-02-02
  • 最新評論

    柳江县| 富源县| 宁河县| 云浮市| 延吉市| 汉川市| 大埔区| 霍山县| 江川县| 巩义市| 张家港市| 廉江市| 巩义市| 牙克石市| 张家口市| 吉木乃县| 富宁县| 娄烦县| 石林| 凭祥市| 金平| 本溪市| 武陟县| 九龙城区| 成安县| 平阴县| 南召县| 延寿县| 连云港市| 衢州市| 安达市| 浦江县| 清涧县| 北京市| 平乡县| 若尔盖县| 孝义市| 阳山县| 潼关县| 南宁市| 武山县|