NumPy 的 loadtxt(~) 方法讀取文本文件,並將其內容解析為 NumPy 數組。
參數
1. fname | string
文件的名稱。如果該文件與腳本不在同一目錄中,請確保也包含該文件的路徑。
2. dtype | string 或 type | optional
所構造數組所需的數據類型。默認情況下,dtype=float 。
3. comments | string 或list 或strings | optional
如果您的輸入文件包含注釋,那麽您可以指定標識注釋的內容。默認情況下, comments="#" ,即同一行中 # 後麵的字符將被視為注釋。如果您的文本文件不包含任何注釋,您可以設置None。
4. delimiter | string | optional
用於分隔數據的字符串。默認情況下,分隔符是空格。
5. converters | dict<int,function> | optional
您可以應用映射來轉換列值。鍵是列的整數索引,值是所需的映射。檢查下麵的示例以進行說明。默認情況下,dict=None 。
6. skiprows | int | optional
開頭要跳過的行數。請注意,這包括評論。默認情況下,skiprows=0 。
7. usecols | int 或 sequence | optional
您要讀取的列的整數索引。默認情況下, usecols=None ,即讀取所有列。
8. unpack | boolean | optional
您可以通過設置 unpack=True 來單獨檢索列數組,而不是使用一個巨大的 Numpy 數組。例如,col_one, col_two = np.loadtxt(~, unpack=True) 。默認情況下,unpack=False 。
9. ndmin | int | optional
您想要的最小維度數。允許的值為 0 、 1 和 2 。
10.encoding | string | optional
讀取文件時使用的編碼(例如 "latin-1" 、 "iso-8859-1" )。默認情況下,encoding="bytes" 。
11.max_rows | int | optional
要讀取的最大行數。默認情況下,讀取所有行。
返回值
包含導入數據的 NumPy 數組。
例子
基本用法
假設我們有以下名為 sample.txt 的 text-file :
1 2 3 4
5 6 7 8
要導入此文件:
a = np.loadtxt("sample.txt")
a
array([[1., 2., 3., 4.],
[5., 6., 7., 8.]])
請注意,此 Python 腳本與 sample.txt 位於同一目錄中。
另外,請注意 Numpy 選擇的默認數據類型是 float64 ,無論文本文件中的數字是否都是整數:
print(a.dtype)
float64
指定所需的數據類型
我們可以使用 dtype 指定類型,而不是使用默認的 float64 :
a = np.loadtxt("sample.txt", dtype=int)
a
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
處理評論
假設我們的sample.txt文件如下:
1 2 3 4 # I'm the first row!
5 6 7 8 // I'm the second row!
要刪除 text-file 中的注釋,請指定 comments :
a = np.loadtxt("sample.txt", comments=["#", "//"])
a
array([[1., 2., 3., 4.],
[5., 6., 7., 8.]])
指定自定義分隔符
假設我們的sample.txt文件如下:
1,2
3,4
要使用逗號作為分隔符:
a = np.loadtxt("sample.txt", delimiter=",")
a
1,2
3,4
指定轉換器
假設我們的sample.txt文件如下:
1 2
3 4
舉個任意的例子,假設我們想將第一列的所有值加 10,並使第二列的所有值都為 20:
a = np.loadtxt("sample.txt", converters={0: lambda x: int(x) + 10, 1: lambda x: 20})
a
array([[11., 20.],
[13., 20.]])
跳行
假設我們的sample.txt文件如下:
1 2 3
4 5 6
7 8 9
要跳過第一行:
a = np.loadtxt("sample.txt", skiprows=1)
a
array([[4., 5., 6.],
[7., 8., 9.]])
隻讀取某些列
假設我們的sample.txt文件如下:
1 2 3
4 5 6
僅讀取第一列和第三列(即列索引 0 和 2):
a = np.loadtxt("sample.txt", usecols=[0,2])
a
array([[1., 3.],
[4., 6.]])
拆裝色譜柱
假設我們的sample.txt文件如下:
1 2
3 4
要檢索每列的數據而不是單個 NumPy 數組:
col_one, col_two = np.loadtxt("sample.txt", unpack=True)
print("col_one:", col_one)
print("col_two:", col_two)
col_one: [1. 2.]
col_two: [3. 4.]
指定所需尺寸
假設我們的 sample.txt 隻有一行:
1 2 3 4
默認情況下,loadtxt(~) 將生成一個一維數組:
a = np.loadtxt("sample.txt")
a
array([1., 2., 3., 4.])
我們可以通過以下方式指定我們希望數組是二維的:
a = np.loadtxt("sample.txt", ndmin=2)
a
array([[1., 2., 3., 4.]])
指定要讀取的最大行數
假設我們的sample.txt文件如下:
1 2
3 4
5 6
僅讀取前兩行:
a = np.loadtxt("sample.txt", max_rows=2)
a
相關用法
- Python NumPy load方法用法及代碼示例
- Python locals()用法及代碼示例
- Python Django logout用法及代碼示例
- Python NumPy logaddexp2方法用法及代碼示例
- Python PIL logical_and() and logical_or()用法及代碼示例
- Python NumPy log方法用法及代碼示例
- Python NumPy logspace方法用法及代碼示例
- Python Django login用法及代碼示例
- Python NumPy logical_or方法用法及代碼示例
- Python NumPy log2方法用法及代碼示例
- Python logging.handlers.SocketHandler.makePickle用法及代碼示例
- Python PIL logical_xor() and invert()用法及代碼示例
- Python logging.Logger.debug用法及代碼示例
- Python logging.debug用法及代碼示例
- Python NumPy log1p方法用法及代碼示例
- Python log10()用法及代碼示例
- Python NumPy logical_and方法用法及代碼示例
- Python logging.LogRecord用法及代碼示例
- Python NumPy logaddexp方法用法及代碼示例
- Python Django login_required用法及代碼示例
- Python NumPy logical_not方法用法及代碼示例
- Python NumPy log10方法用法及代碼示例
- Python NumPy logical_xor方法用法及代碼示例
- Python list remove()用法及代碼示例
- Python len方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | loadtxt method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
