numpy.loadtxt()

Функция numpy.loadtxt() загружает данные из текстового файла в массив NumPy. Подходит для чтения CSV/TSV-файлов с числовыми данными от датчиков, логов и т.п.

Сигнатура

numpy.loadtxt(fname, dtype=float, comments='#', delimiter=None,
              converters=None, skiprows=0, usecols=None, unpack=False,
              ndmin=0, encoding=None, max_rows=None, *, quotechar=None,
              like=None)

Параметры

  • fname — имя файла, путь, открытый файл или итерируемый объект строк.

  • dtype — тип результата.

  • comments — префикс строк-комментариев (по умолчанию '#').

  • delimiter — разделитель полей (по умолчанию любые пробелы).

  • skiprows — сколько начальных строк пропустить.

  • usecols — индексы используемых колонок.

  • unpack — если True, возвращает транспонированный массив (удобно для распаковки в переменные).

Возвращаемое значение

ndarray с прочитанными данными. Форма зависит от файла: 1D для одной колонки, 2D — для нескольких.

Примеры

Пример 1. Чтение простого файла.

import numpy as np
from io import StringIO

text = "1 2 3\n4 5 6\n7 8 9"
data = np.loadtxt(StringIO(text))
print(data)
[[1. 2. 3.]
 [4. 5. 6.]
 [7. 8. 9.]]

Пример 2. CSV с запятой и заголовком.

text = "x,y\n1,2\n3,4\n5,6"
data = np.loadtxt(StringIO(text), delimiter=',', skiprows=1)
print(data)
[[1. 2.]
 [3. 4.]
 [5. 6.]]

Пример 3. Выбор колонок.

text = "1 10 100\n2 20 200\n3 30 300"
data = np.loadtxt(StringIO(text), usecols=(0, 2))
print(data)
[[  1. 100.]
 [  2. 200.]
 [  3. 300.]]

Пример 4. unpack для распаковки в переменные.

text = "0.1 22.5\n0.2 22.7\n0.3 22.6"
t, temp = np.loadtxt(StringIO(text), unpack=True)
print("time:", t)
print("temp:", temp)
time: [0.1 0.2 0.3]
temp: [22.5 22.7 22.6]

Пример 5. Лог датчика DHT22 с комментариями.

text = ("# время T H\n"
        "0  22.5 45\n"
        "1  22.7 46\n"
        "2  22.6 47\n")
data = np.loadtxt(StringIO(text))
print("Средняя температура:", data[:, 1].mean())
Средняя температура: 22.6

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.