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)[source]
-
Загрузка данных из текстового файла.
Каждая строка в текстовом файле должна содержать одинаковое количество значений.
- Параметры
-
- fnameфайл, строка или pathlib.Path
-
Файл, имя файла или генератор для чтения. Если расширение имени файла
.gzили.bz2, файл сначала распаковывается. Обратите внимание, что генераторы должны возвращать байтовые строки. - dtypeтип данных, необязательно
-
Тип данных результирующего массива; по умолчанию: float. Если это структурированный тип данных, результирующий массив будет одномерным, и каждая строка будет интерпретироваться как элемент массива. В этом случае количество столбцов должно соответствовать количеству полей в типе данных.
- commentsстрока или последовательность строк, необязательно
-
Символы или список символов, используемых для обозначения начала комментария. None означает отсутствие комментариев. Для обратной совместимости байтовые строки будут декодироваться как «latin1». По умолчанию это «#».
- delimiterстрока, необязательно
-
Строка, используемая для разделения значений. Для обратной совместимости байтовые строки будут декодироваться как «latin1». По умолчанию это пробелы.
- convertersсловарь, необязательно
-
Словарь, сопоставляющий номер столбца с функцией, которая будет анализировать строку столбца в нужное значение. Например, если столбец 0 — строка даты:
converters = {0: datestr2num}. Преобразователи также могут использоваться для предоставления значения по умолчанию для отсутствующих данных (но см. такжеgenfromtxt):converters = {3: lambda s: float(s.strip() or 0)}. По умолчанию: None. - skiprowsцелое число, необязательно
-
Пропустить первые
skiprowsстроки, включая комментарии; по умолчанию: 0. - usecolsцелое число или последовательность, необязательно
-
Столбцы для чтения, при этом 0 — первый. Например,
usecols = (1,4,5)извлечёт 2-й, 5-й и 6-й столбцы. По умолчанию, None, все столбцы считываются.Изменено в версии 1.11.0: Когда необходимо прочитать один столбец, можно использовать целое число вместо кортежа. Например
usecols = 3читает четвёртый столбец так же, как иusecols = (3,). - unpackbool, необязательно
-
Если True, возвращаемый массив транспонируется, так что аргументы могут быть распакованы, используя
x, y, z = loadtxt(...). При использовании структурированного типа данных возвращаются массивы для каждого поля. По умолчанию False. - ndminцелое число, необязательно
-
Возвращаемый массив будет иметь как минимум
ndminизмерений. В противном случае одноразмерные оси будут сжаты. Допустимые значения: 0 (по умолчанию), 1 или 2.Добавлено в версии 1.6.0.
- encodingстрока, необязательно
-
Кодировка, используемая для декодирования входного файла. Не применяется к входным потокам. Специальное значение «bytes» включает обходные пути обратной совместимости, гарантирующие получение байтовых массивов в качестве результатов, если это возможно, и передаёт строки с кодировкой «latin1» в преобразователи. Переопределите это значение, чтобы получить массивы Unicode и передавать строки в качестве входных данных преобразователям. Если установлено значение None, используется системный по умолчанию. Значение по умолчанию — «bytes».
Добавлено в версии 1.14.0.
- max_rowsцелое число, необязательно
-
Считать
max_rowsстрок содержимого послеskiprowsстрок. По умолчанию считываются все строки.Добавлено в версии 1.16.0.
- likearray_like
-
Ссылка на объект для создания массивов, которые не являются массивами NumPy. Если переданный массив-подобный объект
likeподдерживает протокол__array_function__, результат будет определён им. В этом случае это гарантирует создание объекта массива, совместимого с переданным через этот аргумент.Добавлено в версии 1.20.0.
- Возвращает
-
- outndarray
-
Данные, считанные из текстового файла.
См. также
-
load,fromstring,fromregex genfromtxt-
Загрузка данных с обработкой пропущенных значений в соответствии со спецификацией.
scipy.io.loadmat-
читает файлы данных MATLAB
Примечания
Эта функция предназначена для быстрого чтения просто отформатированных файлов. Функция
genfromtxtпредоставляет более сложную обработку, например, строк с отсутствующими значениями.Добавлено в версии 1.10.0.
Строки, сгенерированные методом 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.])Этот пример показывает, как
convertersможет использоваться для преобразования поля с заключительным знаком минус в отрицательное число.>>> 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]])
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.loadtxt.html