РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
297 of 541 menu

Функция genfromtxt

Функция genfromtxt загружает данные из текстового файла в массив NumPy. В отличие от функции loadtxt, она автоматически определяет типы данных столбцов и позволяет обрабатывать пропущенные значения. Первым параметром функция принимает имя файла или файловый объект. Вторым параметром можно указать разделитель столбцов.

Синтаксис

np.genfromtxt(fname, delimiter=None, dtype=None, names=None, skip_header=0, skip_footer=0, missing_values=None, filling_values=None)

Параметры

Основные параметры функции genfromtxt:

  • fname - имя файла или файловый объект
  • delimiter - разделитель столбцов (по умолчанию пробел)
  • dtype - тип данных для результирующего массива
  • names - имена столбцов или True для использования первой строки
  • skip_header - количество строк для пропуска в начале файла
  • skip_footer - количество строк для пропуска в конце файла
  • missing_values - значения, которые следует считать пропущенными
  • filling_values - значения для заполнения пропусков

Пример

Давайте создадим простой текстовый файл с данными и загрузим его:

1 2 3 4 5 6 7 8 9
import numpy as np arr = np.genfromtxt('data.txt', delimiter=' ') print(arr)

Результат выполнения кода:

[[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]]

Пример

Загрузим данные с заголовком, пропуская первую строку:

col1 col2 col3 1 2 3 4 5 6 7 8 9
import numpy as np arr = np.genfromtxt('data_with_header.txt', delimiter=' ', skip_header=1) print(arr)

Результат выполнения кода:

[[1. 2. 3.] [4. 5. 6.] [7. 8. 9.]]

Пример

Загрузим данные с использованием заголовка как названий столбцов:

col1 col2 col3 1 2 3 4 5 6 7 8 9
import numpy as np arr = np.genfromtxt('data_with_header.txt', delimiter=' ', names=True) print(arr) print(arr['col1'])

Результат выполнения кода:

[(1., 2., 3.) (4., 5., 6.) (7., 8., 9.)] [1. 4. 7.]

Пример

Обработаем данные с пропущенными значениями:

1 2 3 4 NA 6 7 8 NA
import numpy as np arr = np.genfromtxt('missing_data.txt', delimiter=' ', missing_values='NA', filling_values=0) print(arr)

Результат выполнения кода:

[[1. 2. 3.] [4. 0. 6.] [7. 8. 0.]]

Смотрите также

  • функцию loadtxt,
    которая загружает данные из текстового файла в массив
  • функцию savetxt,
    которая сохраняет массив в текстовый файл
  • функцию load,
    которая загружает массивы из .npy или .npz файлов
  • функцию save,
    которая сохраняет массив в .npy файл
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить