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.