Spec-Zone.ru › NumPy 1.11

numpy.genfromtxt

numpy.genfromtxt(fname, dtype=, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=None, replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None) [source]

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

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

Параметры:

fname : файл, str, список str, генератор

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

dtype : dtype, необязательно

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

comments : str, необязательно

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

delimiter : str, int или последовательность, необязательно

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

skiprows : int, необязательно

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

skip_header : int, необязательно

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

skip_footer : int, необязательно

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

converters : переменная, необязательно

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

missing : переменная, необязательно

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

missing_values : переменная, необязательно

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

filling_values : переменная, необязательно

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

usecols : последовательность, необязательно

Какие столбцы читать, где 0 — первый. Например, usecols = (1, 4, 5) извлечёт 2-й, 5-й и 6-й столбцы.

names : {None, True, str, последовательность}, необязательно

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

excludelist : последовательность, необязательно

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

deletechars : str, необязательно

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

defaultfmt : str, необязательно

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

autostrip : bool, необязательно

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

replace_space : char, необязательно

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

case_sensitive : {True, False, ‘upper’, ‘lower’}, необязательно

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

unpack : bool, необязательно

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

usemask : bool, необязательно

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

loose : bool, необязательно

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

invalid_raise : bool, необязательно

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

max_rows : int, необязательно

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

Добавлена в версии 1.10.0.

Возвращает:

out : ndarray

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

См. также

numpy.loadtxt
эквивалентная функция, когда отсутствуют данные.

Примечания

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

Ссылки

[R20] Руководство пользователя Numpy, раздел Ввод/вывод с помощью Numpy.

Примеры

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

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

>>> s = StringIO("1,1.3,abcde")
>>> data = np.genfromtxt(s, dtype=[('myint','i8'),('myfloat','f8'),
... ('mystring','S5')], delimiter=",")
>>> data
array((1, 1.3, '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, '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, 'abcde'),
      dtype=[('myint', '<i8'), ('myfloat', '<f8'), ('mystring', '|S5')])

Пример с фиксированной шириной столбцов

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

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.genfromtxt.html

Spec-Zone.ru

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