NumPy numpy.loadtxt() 函式
Suraj Joshi
2023年1月30日
-
numpy.loadtxt()
的語法 -
示例程式碼: NumPy 使用
numpy.loadtxt()
函式讀取txt
檔案 -
示例程式碼:在
numpy.loadtxt()
函式中設定dtype
引數讀取txt
檔案 -
示例程式碼:讀取
txt
檔案時在numpy.loadtxt()
函式中設定delimiter
引數 -
示例程式碼:在讀取
txt
檔案時,在numpy.loadtxt()
函式中設定usecols
引數 -
示例程式碼在讀取
txt
檔案時在numpy.loadtxt()
函式中設定unpack
引數
Python Numpy numpy.loadtxt()
函式從文字檔案中載入資料,併為簡單的文字檔案提供了快速方法。
numpy.loadtxt()
的語法
numpy.loadtxt(fname,
dtype= < class 'float' > ,
comments='#',
delimiter=None,
converters=None,
skiprows=0,
usecols=None,
unpack=False,
ndmin=0,
encoding='bytes',
max_rows=None)
引數
fname |
要匯入的 txt 檔案的路徑 |
dtype |
結果陣列的資料型別 |
comments |
用來表示評論開始的字元或字元列表 |
delimiter |
用於解析 txt 檔案內容的定界符 |
converters |
字典將列號對映到一個函式,該函式將把列的字串解析成所需的值。 |
skiprows |
跳過哪一行 |
usecols |
要讀取的列索引 |
unpack |
對返回的陣列進行轉置,因此可以使用 x, y, z = loadtxt(...) 對引數進行解包。[unpack=True] 。 |
ndim |
返回陣列的最小維數 |
encoding |
用於解碼輸入檔案的編碼 |
max_rows |
讀取 skiprows 行後的最大行數 |
返回值
從 txt
檔案中讀取的 N 維陣列。
示例程式碼: NumPy 使用 numpy.loadtxt()
函式讀取 txt
檔案
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f)
print("The loaded array is:")
print(a)
輸出:
The loaded array is:
[[ 3. 6. 8.]
[12. 9. 1.]
[ 2. 3. 4.]]
它將 txt
檔案載入到 NumPy
陣列中。
這裡,StringIO
的作用就像一個檔案物件。
我們也可以提供 file path
作為引數給 np.loadtxt
函式,使用絕對和相對路徑。
示例程式碼:在 numpy.loadtxt()
函式中設定 dtype
引數讀取 txt
檔案
預設情況下,從文字檔案中讀取的陣列值的資料型別是 float
,我們可以使用 dtype
引數手動設定元素的資料型別。我們可以使用 dtype
引數手動設定元素的資料型別。
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f,dtype="int")
print("The loaded array is:")
print(a)
輸出:
The loaded array is:
[[ 3 6 8]
[12 9 1]
[ 2 3 4]]
上面的程式碼將所有從 txt
檔案中讀取的元素以整數形式載入到陣列中。
示例程式碼:讀取 txt
檔案時在 numpy.loadtxt()
函式中設定 delimiter
引數
預設情況下,分隔數值的定界符是一個空白符,我們可以使用 delimiter
引數手動設定定界符。
import numpy as np
from io import StringIO
f = StringIO("3, 6, 8 \n12, 9, 1 \n 2, 3, 4")
a = np.loadtxt(f,dtype="int",delimiter=",")
print("The loaded array is:")
print(a)
輸出:
The loaded array is:
[[ 3 6 8]
[12 9 1]
[ 2 3 4]]
由於上面 txt
檔案的值用 ,
隔開,因此當從 txt 檔案讀取到陣列中時,我們必須使用 ,
作為分隔符來分隔值。
示例程式碼:在讀取 txt
檔案時,在 numpy.loadtxt()
函式中設定 usecols
引數
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
a = np.loadtxt(f,dtype="int",usecols =(0, 1))
print("The loaded array is:")
print(a)
輸出:
The loaded array is:
[[ 3 6]
[12 9]
[ 2 3]]
usecols
指定從 txt
檔案中讀取哪些列。
它只從 txt
檔案中讀取第 1 列和第 2 列到陣列中。
示例程式碼在讀取 txt
檔案時在 numpy.loadtxt()
函式中設定 unpack
引數
import numpy as np
from io import StringIO
f = StringIO("3 6 8 \n12 9 1 \n 2 3 4")
(x,y,z) = np.loadtxt(f,dtype="int",unpack=True)
print(x)
print(y)
print(z)
輸出:
[ 3 12 2]
[6 9 3]
[8 1 4]
它將陣列進行轉置,並將轉置後的陣列行解包到指定的變數中。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn