Spec-Zone.ru › NumPy 1.18

numpy.genfromtxt

numpy.genfromtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=" !#$%&'()*+, -./:;<=>?@[\]^{|}~", replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None, encoding='bytes') [source]

Загрузка данных из текстового файла с обработкой пропущенных значений, как указано.

Каждая строка после первой skip_header строк разбивается по символу delimiter, а символы после символа comments отбрасываются.

Параметры
fnamefile, str, pathlib.Path, list of str, generator

Файл, имя файла, список или генератор для чтения. Если расширение имени файла gz или bz2, файл сначала распаковывается. Обратите внимание, что генераторы должны возвращать байтовые строки. Строки в списке или возвращаемые генератором обрабатываются как строки.

dtypedtype, optional

Тип данных результирующего массива. Если None, типы данных будут определяться по содержимому каждой колонки, индивидуально.

commentsstr, optional

Символ, используемый для обозначения начала комментария. Все символы в строке после символа комментария отбрасываются

delimiterstr, int, or sequence, optional

Строка, используемая для разделения значений. По умолчанию любые последовательные пробелы действуют как разделитель. Целое число или последовательность целых чисел также могут быть предоставлены как ширина(ы) каждого поля.

skiprowsint, optional

skiprows был удален в numpy 1.10. Пожалуйста, используйте skip_header вместо него.

skip_headerint, optional

Количество строк, которые нужно пропустить в начале файла.

skip_footerint, optional

Количество строк, которые нужно пропустить в конце файла.

convertersvariable, optional

Набор функций, которые преобразуют данные столбца в значение. Преобразователи также могут использоваться для предоставления значения по умолчанию для отсутствующих данных: converters = {3: lambda s: float(s or 0)}.

missingvariable, optional

missing был удален в numpy 1.10. Пожалуйста, используйте missing_values вместо него.

missing_valuesvariable, optional

Набор строк, соответствующих отсутствующим данным.

filling_valuesvariable, optional

Набор значений, которые будут использоваться по умолчанию, когда данные отсутствуют.

usecolssequence, optional

Какие колонки читать, при этом 0 — это первая. Например, usecols = (1, 4, 5) извлечет 2-ю, 5-ю и 6-ю колонки.

names{None, True, str, sequence}, optional

Если names равно True, имена полей считываются из первой строки после первых skip_header строк. Эта строка необязательно может быть предваряема разделителем комментария. Если names является последовательностью или строкой с запятыми, имена будут использованы для определения имен полей в структурированном типе данных. Если names равно None, будут использованы имена полей типа данных, если таковые имеются.

excludelistsequence, optional

Список имен для исключения. Этот список добавляется к списку по умолчанию [‘return’,’file’,’print’]. Исключенные имена дополняются подчеркиванием: например, file станет file_.

deletecharsstr, optional

Строка, объединяющая недопустимые символы, которые должны быть удалены из имён.

defaultfmtstr, optional

Формат, используемый для определения имён полей по умолчанию, например, «f%i» или «f_%02i».

autostripbool, optional

Автоматически обрезать пробелы из переменных.

replace_spacechar, optional

Символ(ы), используемый для замены пробелов в именах переменных. По умолчанию используется ‘_’.

case_sensitive{True, False, ‘upper’, ‘lower’}, optional

Если True, имена полей чувствительны к регистру. Если False или ‘upper’, имена полей преобразуются в верхний регистр. Если ‘lower’, имена полей преобразуются в нижний регистр.

unpackbool, optional

Если True, возвращаемый массив транспонируется, так что аргументы можно распаковать с помощью x, y, z = loadtxt(...)

usemaskbool, optional

Если True, возвращается массив с пропусками. Если False, возвращается обычный массив.

loosebool, optional

Если True, не генерировать ошибки для недопустимых значений.

invalid_raisebool, optional

Если True, при обнаружении несоответствия в количестве столбцов генерируется исключение. Если False, выводится предупреждение, и нарушающие строки пропускаются.

max_rowsint, optional

Максимальное количество строк для чтения. Не должно использоваться одновременно со skip_footer. Если задано, значение должно быть не менее 1. По умолчанию читается весь файл.

Новая в версии 1.10.0.

encodingstr, optional

Кодировка, используемая для декодирования входного файла. Не применяется, когда fname является объектом файла. Специальное значение ‘bytes’ включает обратную совместимость обходных путей, которые гарантируют получение массивов байтов, где это возможно, и передают строки, закодированные в latin1, в преобразователи. Переопределите это значение, чтобы получить массивы Unicode и передать строки в качестве входных данных в преобразователи. Если установлено в значение None, используется системный по умолчанию. Значение по умолчанию равно ‘bytes’.

Новая в версии 1.14.0.

Возвращает
outndarray

Данные, считанные из текстового файла. Если usemask равно True, это массив с пропусками.

См. также

numpy.loadtxt

эквивалентная функция, когда пропущенных данных нет.

Примечания

  • Когда пробелы используются в качестве разделителей или когда разделитель не задан в качестве входных данных, между двумя полями не должно быть пропущенных данных.
  • Когда переменные именованные (либо с помощью гибкого типа данных, либо с names, в файле не должно быть заголовков (в противном случае возникает исключение ValueError).
  • Индивидуальные значения по умолчанию не очищаются от пробелов. При использовании пользовательского преобразователя убедитесь, что функция удаляет пробелы.

Ссылки

1

Руководство пользователя NumPy, раздел I/O с NumPy.

Примеры

>>> from io import StringIO
>>> import numpy as np

Файл с запятыми, разделенный с различными типами данных

>>> s = StringIO(u"1,1.3,abcde")
>>> data = np.genfromtxt(s, dtype=[('myint','i8'),('myfloat','f8'),
... ('mystring','S5')], delimiter=",")
>>> data
array((1, 1.3, b'abcde'),
      dtype=[('myint', '<i8'), ('myfloat', '<f8'), ('mystring', 'S5')])

Использование dtype = None

>>> _ = s.seek(0) # needed for StringIO example only
>>> data = np.genfromtxt(s, dtype=None,
... names = ['myint','myfloat','mystring'], delimiter=",")
>>> data
array((1, 1.3, b'abcde'),
      dtype=[('myint', '<i8'), ('myfloat', '<f8'), ('mystring', 'S5')])

Указание dtype и имён

>>> _ = s.seek(0)
>>> data = np.genfromtxt(s, dtype="i8,f8,S5",
... names=['myint','myfloat','mystring'], delimiter=",")
>>> data
array((1, 1.3, b'abcde'),
      dtype=[('myint', '<i8'), ('myfloat', '<f8'), ('mystring', 'S5')])

Пример с колонками фиксированной ширины

>>> s = StringIO(u"11.3abcde")
>>> data = np.genfromtxt(s, dtype=None, names=['intvar','fltvar','strvar'],
...     delimiter=[1,3,5])
>>> data
array((1, 1.3, b'abcde'),
      dtype=[('intvar', '<i8'), ('fltvar', '<f8'), ('strvar', 'S5')])

Пример с комментариями

>>> f = StringIO('''
... text,# of chars
... hello world,11
... numpy,5''')
>>> np.genfromtxt(f, dtype='S12,S12', delimiter=',')
array([(b'text', b''), (b'hello world', b'11'), (b'numpy', b'5')],
  dtype=[('f0', 'S12'), ('f1', 'S12')])

© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.genfromtxt.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API