一、從loadtxt函數讀取txt
Python中的loadtxt函數可以快捷地將文本文件中的數據讀取到Numpy數組中。loadtxt函數內置於Numpy模塊中,無需額外安裝,且具有優秀的內存管理性能。以下是一個從txt文件中讀取數據並打印的示例代碼:
import numpy as np data = np.loadtxt('data.txt') print(data)
該例子將會打開一個名為data.txt的文本文件,並將其中的數據讀取到Numpy數組data中。此時可以通過print函數打印數組data中的數據。如果data.txt中的數據是按照列分隔的,那麼loadtxt函數會自動將其解析成行向量。
二、load選取
loadtxt函數提供了許多有用的選項,以便讀取各種各樣的文件格式。例如,可以使用delimiter參數指定列分隔符,使用skiprows參數跳過文件的前幾行,使用usecols參數指定要讀取的列。以下是一個從csv文件中讀取指定列的示例代碼:
import numpy as np data = np.loadtxt('data.csv', delimiter=',', skiprows=1, usecols=(0, 2)) print(data)
該例子將會打開一個名為data.csv的csv文件,並讀取其中的第0列和第2列數據,同時跳過文件的第1行。使用delimiter參數指定了csv文件中的列分隔符為「,」。
三、dtype類型
loadtxt函數具有智能推導數據類型的能力,可以根據文件中數據的類型自動分配數據類型。如果文件中的數據類型相同,則可以使用dtype參數進行指定。以下是一個創建自定義dtype類型的示例代碼:
import numpy as np dt = np.dtype([('name', np.str_, 16), ('age', np.int32), ('weight', np.float64)]) data = np.loadtxt('data.txt', dtype=dt) print(data)
該例子演示了如何使用自定義dtype類型讀取txt文件的數據。數據文件data.txt包含了3列:姓名、年齡和體重。使用dtype參數定義了一個由姓名、年齡和體重組成的結構體類型。使用該類型解析txt文件數據後,返回的是一個包含結構體元素的Numpy數組。
四、缺失值
當數據文件中包含缺失值時,loadtxt函數會自動將其替換為Numpy中的NaN值。如果需要指定用於表示缺失值的字符串,可以使用missvalue參數。以下是一個讀取缺失值數據的示例代碼:
import numpy as np data = np.loadtxt('data.txt', delimiter=',', skiprows=1, usecols=(0, 1, 2), missing_values='?', filling_values=0) print(data)
該例子將會讀取一個名為data.txt的csv文件,文件中可能包含「?」字符作為缺失值。使用missing_values參數指定了將所有的「?」字符都替換為NaN值。使用filling_values參數指定了將所有缺失值替換為0。
五、適用範圍
loadtxt函數是Python中讀取txt文件數據的常用方法。它可用於讀取各種沒有格式約束的文本文件,如csv文件、tab文件等。它的優點是可以快速地將文本文件中的數據讀取到Numpy數組中,可與Numpy的各種數組操作進行配合使用,非常方便實用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/159237.html