numpy中l(wèi)oadtxt 的用法詳解
numpy中有兩個函數(shù)可以用來讀取文件,主要是txt文件, 下面主要來介紹這兩個函數(shù)的用法
第一個是loadtxt, 其一般用法為
numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
上面給出了loadtxt所有的關(guān)鍵字參數(shù), 這里我們可以來一一解釋并給出示例
這里我們使用的是jupyter notebook, 可以實現(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)
實際上就是直接寫文件名, 其他關(guān)鍵字參數(shù)都是默認(rèn)的。輸出為
[[1. 2. 3. 4.]
[2. 3. 4. 5.]
[3. 4. 5. 6.]
[4. 5. 6. 7.]]
a為浮點數(shù)的原因為Python默認(rèn)的數(shù)字的數(shù)據(jù)類型為雙精度浮點數(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)成一個向量輸出, 而不是合并在一起。
[1 4 7] [3 6 9]
最后介紹converters參數(shù), 這個是對數(shù)據(jù)進(jìn)行預(yù)處理的參數(shù), 我們可以先定義一個函數(shù), 這里的converters是一個字典, 表示第零列使用函數(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]
補一個GitHub的jupyter-notebook鏈接...
https://github.com/ChangChunHe/PythonLearning/blob/master/Numpy/8.loadtxt_and_genfromtxt.ipynb
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
conda配置python虛擬環(huán)境的實現(xiàn)步驟
本文主要介紹了conda配置python虛擬環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
解析pip安裝第三方庫但PyCharm中卻無法識別的問題及PyCharm安裝第三方庫的方法教程
這篇文章主要介紹了解析pip安裝第三方庫但PyCharm中卻無法識別的問題及PyCharm安裝第三方庫的方法教程,本文圖文并茂給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
ActiveMQ:使用Python訪問ActiveMQ的方法
今天小編就為大家分享一篇ActiveMQ:使用Python訪問ActiveMQ的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
基于python制作簡易版學(xué)生信息管理系統(tǒng)
這篇文章主要介紹了基于python制作簡易版學(xué)生信息管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04
Python Numpy教程之排序,搜索和計數(shù)詳解
這篇文章主要為大家詳細(xì)介紹了Python?NumPy中排序,搜索和計數(shù)的實現(xiàn),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-08-08

