Spec-Zone.ru › NumPy 1.20

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', *, like=None) [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 = genfromtxt(...). При использовании со структурированным типом данных возвращаются массивы для каждого поля. По умолчанию False.

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 в конвертеры. Переопределите это значение для получения массивов Юникод и передачи строк в качестве входных данных конвертерам. Если установлено в None, используется системный по умолчанию. Значение по умолчанию — ‘bytes’.

Введено в версии 1.14.0.

likearray_like

Объект ссылки для создания массивов, которые не являются массивами NumPy. Если переданный в like подобный массив поддерживает протокол __array_function__, результат будет определён им. В этом случае это гарантирует создание объекта массива, совместимого с переданным через этот аргумент.

Примечание

Ключевое слово like — это экспериментальная функция, ожидающая принятия NEP 35.

Введено в версии 1.20.0.

Возвращает
outndarray

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

См. также

numpy.loadtxt

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

Примечания

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

Ссылки

1

Руководство пользователя NumPy, раздел Ввод/вывод с 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.genfromtxt.html

Spec-Zone.ru

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