本文簡要介紹 python 語言中 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, *, like=None)
從文本文件加載數據。
文本文件中的每一行必須具有相同數量的值。
- fname: 文件、str、pathlib.Path、str 列表、生成器
要讀取的文件、文件名、列表或生成器。如果文件擴展名是
.gz
或.bz2
,則首先解壓縮文件。請注意,生成器必須返回字節或字符串。列表中的字符串或由生成器生成的字符串被視為行。- dtype: 數據類型,可選
結果數組的數據類型;默認值:浮點數。如果這是結構化數據類型,則生成的數組將是一維的,並且每一行將被解釋為數組的一個元素。在這種情況下,使用的列數必須與數據類型中的字段數匹配。
- comments: str 或 str 序列,可選
用於指示注釋開始的字符或字符列表。無意味著沒有評論。為了向後兼容,字節串將被解碼為‘latin1’。默認值為“#”。
- delimiter: str,可選
用於分隔值的字符串。為了向後兼容,字節串將被解碼為‘latin1’。默認值為空格。
- converters: 字典,可選
將列號映射到函數的字典,該函數將列字符串解析為所需的值。例如,如果第 0 列是日期字符串:
converters = {0: datestr2num}
。轉換器還可以用於為丟失的數據提供默認值(但另請參見genfromtxt
):converters = {3: lambda s: float(s.strip() or 0)}
。默認值:無。- skiprows: 整數,可選
跳過第一行,包括注釋;默認值:0。
- usecols: int 或序列,可選
要讀取的列,0 是第一個。例如,
usecols = (1,4,5)
將提取第 2、第 5 和第 6 列。默認值 None 會導致讀取所有列。- unpack: 布爾型,可選
如果為 True,則返回的數組被轉置,以便可以使用
x, y, z = loadtxt(...)
解包參數。當與結構化數據類型一起使用時,將為每個字段返回數組。默認為假。- ndmin: 整數,可選
返回的數組至少有 ndmin 維度。否則mono-dimensional軸將被擠壓。合法值:0(默認)、1 或 2。
- encoding: str,可選
用於解碼輸入文件的編碼。不適用於輸入流。特殊值 ‘bytes’ 啟用向後兼容性解決方法,確保您盡可能接收字節數組作為結果,並將 ‘latin1’ 編碼字符串傳遞給轉換器。覆蓋此值以接收 unicode 數組並將字符串作為輸入傳遞給轉換器。如果設置為無,則使用係統默認值。默認值為‘bytes’。
- max_rows: 整數,可選
在跳過行之後閱讀 max_rows 行內容。默認是讀取所有行。
- like: array_like
允許創建非 NumPy 數組的引用對象。如果作為
like
傳入的類似數組支持__array_function__
協議,則結果將由它定義。在這種情況下,它確保創建一個與通過此參數傳入的數組對象兼容的數組對象。
- out: ndarray
從文本文件中讀取的數據。
參數:
返回:
注意:
此函數旨在成為簡單格式文件的快速閱讀器。
genfromtxt
函數提供了更複雜的處理,例如,具有缺失值的行。Python float.hex 方法生成的字符串可用作浮點數的輸入。
例子:
>>> from io import StringIO # StringIO behaves like a file object >>> c = StringIO("0 1\n2 3") >>> np.loadtxt(c) array([[0., 1.], [2., 3.]])
>>> d = StringIO("M 21 72\nF 35 58") >>> np.loadtxt(d, dtype={'names': ('gender', 'age', 'weight'), ... 'formats': ('S1', 'i4', 'f4')}) array([(b'M', 21, 72.), (b'F', 35, 58.)], dtype=[('gender', 'S1'), ('age', '<i4'), ('weight', '<f4')])
>>> c = StringIO("1,0,2\n3,0,4") >>> x, y = np.loadtxt(c, delimiter=',', usecols=(0, 2), unpack=True) >>> x array([1., 3.]) >>> y array([2., 4.])
此示例顯示如何使用轉換器將帶有尾隨減號的字段轉換為負數。
>>> s = StringIO('10.01 31.25-\n19.22 64.31\n17.57- 63.94') >>> def conv(fld): ... return -float(fld[:-1]) if fld.endswith(b'-') else float(fld) ... >>> np.loadtxt(s, converters={0: conv, 1: conv}) array([[ 10.01, -31.25], [ 19.22, 64.31], [-17.57, 63.94]])
相關用法
- Python numpy load用法及代碼示例
- Python numpy logaddexp用法及代碼示例
- Python numpy log10用法及代碼示例
- Python numpy logspace用法及代碼示例
- Python numpy lookfor用法及代碼示例
- Python numpy log用法及代碼示例
- Python numpy logaddexp2用法及代碼示例
- Python numpy log2用法及代碼示例
- Python numpy logical_xor用法及代碼示例
- Python numpy log1p用法及代碼示例
- Python numpy logical_and用法及代碼示例
- Python numpy logical_not用法及代碼示例
- Python numpy logical_or用法及代碼示例
- Python numpy legendre.legint用法及代碼示例
- Python numpy linalg.svd用法及代碼示例
- Python numpy laguerre.lagone用法及代碼示例
- Python numpy linalg.pinv用法及代碼示例
- Python numpy linalg.eigh用法及代碼示例
- Python numpy linalg.tensorinv用法及代碼示例
- Python numpy laguerre.lagdomain用法及代碼示例
- Python numpy laguerre.lagzero用法及代碼示例
- Python numpy legendre.legmulx用法及代碼示例
- Python numpy less用法及代碼示例
- Python numpy linalg.LinAlgError用法及代碼示例
- Python numpy linalg.matrix_rank用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.loadtxt。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。