Spec-Zone.ru › NumPy 1.19

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, раздел Ввод/вывод с 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.19/reference/generated/numpy.genfromtxt.html

Spec-Zone.ru

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