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)[source] -
Загрузка данных из текстового файла.
Каждая строка в текстовом файле должна содержать одинаковое количество значений.
- Параметры
-
-
fnamefile, str, or pathlib.Path -
Файл, имя файла или генератор для чтения. Если расширение имени файла —
.gzили.bz2, файл сначала распаковывается. Обратите внимание, что генераторы должны возвращать байтовые строки. -
dtypedata-type, optional -
Тип данных результирующего массива; по умолчанию: float. Если это структурированный тип данных, результирующий массив будет одномерным, и каждая строка будет интерпретироваться как элемент массива. В этом случае количество столбцов должно соответствовать количеству полей в типе данных.
-
commentsstr or sequence of str, optional -
Символы или список символов, используемых для обозначения начала комментария. None означает отсутствие комментариев. Для обратной совместимости байтовые строки будут декодированы как ‘latin1’. По умолчанию это ‘#’.
-
delimiterstr, optional -
Строка, используемая для разделения значений. Для обратной совместимости байтовые строки будут декодированы как ‘latin1’. По умолчанию это пробелы.
-
convertersdict, optional -
Словарь, сопоставляющий номер столбца с функцией, которая будет анализировать строку столбца в нужное значение. Например, если столбец 0 — строка даты:
converters = {0: datestr2num}. Преобразователи также могут использоваться для предоставления значения по умолчанию для отсутствующих данных (но см. такжеgenfromtxt):converters = {3: lambda s: float(s.strip() or 0)}. По умолчанию: None. -
skiprowsint, optional -
Пропустить первые
skiprowsстрок, включая комментарии; по умолчанию: 0. -
usecolsint or sequence, optional -
Столбцы для чтения, где 0 — первый. Например,
usecols = (1,4,5)извлечет 2-й, 5-й и 6-й столбцы. По умолчанию, None, — все столбцы читаются.Изменено в версии 1.11.0: При чтении одного столбца можно использовать целое число вместо кортежа. Например,
usecols = 3читает четвертый столбец так же, как иusecols = (3,). -
unpackbool, optional -
Если True, возвращаемый массив транспонируется, так что аргументы можно распаковать, используя
x, y, z = loadtxt(...). При использовании со структурированным типом данных возвращаются массивы для каждого поля. По умолчанию False. -
ndminint, optional -
Возвращаемый массив будет иметь как минимум
ndminизмерений. В противном случае одномерные оси будут сжаты. Допустимые значения: 0 (по умолчанию), 1 или 2.Введено в версии 1.6.0.
-
encodingstr, optional -
Кодировка, используемая для декодирования входного файла. Не применяется к входным потокам. Специальное значение ‘bytes’ обеспечивает обратную совместимость, гарантируя получение байтовых массивов в результатах, если это возможно, и передачу строк, закодированных в ‘latin1’, преобразователям. Переопределите это значение, чтобы получить массивы unicode и передать строки в качестве входных данных преобразователям. Если установлено в None, используется системный стандарт. Значение по умолчанию — ‘bytes’.
Введено в версии 1.14.0.
-
max_rowsint, optional -
Читать
max_rowsстрок содержимого послеskiprowsстрок. По умолчанию читаются все строки.Введено в версии 1.16.0.
-
- Возвращает
-
-
outndarray -
Данные, прочитанные из текстового файла.
-
См. также
-
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.loadtxt.html