numpy中l(wèi)oadtxt 的用法詳解
numpy中有兩個(gè)函數(shù)可以用來讀取文件,主要是txt文件, 下面主要來介紹這兩個(gè)函數(shù)的用法
第一個(gè)是loadtxt, 其一般用法為
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
上面給出了loadtxt所有的關(guān)鍵字參數(shù), 這里我們可以來一一解釋并給出示例
這里我們使用的是jupyter notebook, 可以實(shí)現(xiàn)交互式的界面操作
%%writefile test.txt # 這是用來寫入文件的代碼 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
首先給出最簡單的loadtxt的代碼
import numpy as np a = np.loadtxt('test.txt')#最普通的loadtxt print(a)
實(shí)際上就是直接寫文件名, 其他關(guān)鍵字參數(shù)都是默認(rèn)的。輸出為
[[1. 2. 3. 4.]
[2. 3. 4. 5.]
[3. 4. 5. 6.]
[4. 5. 6. 7.]]
a為浮點(diǎn)數(shù)的原因?yàn)镻ython默認(rèn)的數(shù)字的數(shù)據(jù)類型為雙精度浮點(diǎn)數(shù)
%%writefile test.txt A B C 1 2 3 4 5 6 7 8 9 a = np.loadtxt('test1.txt', skiprows=1, dtype=int) print(a)
這里的skiprows是指跳過前1行, 如果設(shè)置skiprows=2, 就會跳過前兩行, 這里的輸出為
[[1 2 3]
[4 5 6]
[7 8 9]]
%%writefile test.txt A B C 1 2 3 # AAA 4 5 6 7 8 9 a = np.loadtxt('test2.txt', dtype=int, skiprows=1, comments='#') print(a)
這里的comment的是指, 如果行的開頭為#就會跳過該行, 這里輸出為
[[1 2 3]
[4 5 6]
[7 8 9]]
%%writefile test.txt A B C 1, 2, 3 # AA AAA 4, 5, 6 7, 8, 9 (a, b) = np.loadtxt('test.txt', dtype=int, skiprows=1, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print(a, b)
這里的usecols是指只使用0,2兩列, unpack是指會把每一列當(dāng)成一個(gè)向量輸出, 而不是合并在一起。
[1 4 7] [3 6 9]
最后介紹converters參數(shù), 這個(gè)是對數(shù)據(jù)進(jìn)行預(yù)處理的參數(shù), 我們可以先定義一個(gè)函數(shù), 這里的converters是一個(gè)字典, 表示第零列使用函數(shù)add_one來進(jìn)行預(yù)處理
def add_one(x): return int(x)+1#注意到這里使用的字符的數(shù)據(jù)結(jié)構(gòu) (a, b) = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True) print(a, b)
輸出結(jié)果為:
[2 5 8] [3 6 9]
補(bǔ)一個(gè)GitHub的jupyter-notebook鏈接...
https://github.com/ChangChunHe/PythonLearning/blob/master/Numpy/8.loadtxt_and_genfromtxt.ipynb
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Matlab中關(guān)于argmax、argmin函數(shù)的使用解讀
這篇文章主要介紹了Matlab中關(guān)于argmax、argmin函數(shù)的使用解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12python 擴(kuò)展print打印文件路徑和當(dāng)前時(shí)間信息的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了python 擴(kuò)展print打印文件路徑和當(dāng)前時(shí)間信息,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10python中for循環(huán)的多種使用實(shí)例
for語句是Python中執(zhí)行迭代的兩個(gè)語句之一,另一個(gè)語句是while,下面這篇文章主要給大家介紹了關(guān)于python中for循環(huán)的多種使用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Python3實(shí)現(xiàn)自定義比較排序/運(yùn)算符
這篇文章主要介紹了Python3實(shí)現(xiàn)自定義比較排序/運(yùn)算符,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02淺析pip安裝第三方庫及pycharm中導(dǎo)入第三方庫的問題
這篇文章主要介紹了淺析pip安裝第三方庫及pycharm中導(dǎo)入第三方庫的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

django認(rèn)證系統(tǒng)實(shí)現(xiàn)自定義權(quán)限管理的方法

Python生態(tài)圈圖像格式轉(zhuǎn)換問題(推薦)

python實(shí)例方法的使用注意及代碼實(shí)例