Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
07 Июл 2023
2 мин
824

Чтение данных CSV в рекордный массив с помощью NumPy

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

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

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

Библиотека NumPy предлагает несколько подходов к решению этой задачи.

Использование функции numpy.genfromtxt

Простейший способ — использовать функцию numpy.genfromtxt. Она позволяет загрузить данные из файла прямо в рекордный массив:

import numpy as np

data = np.genfromtxt('file.csv', delimiter=',', names=True, dtype=None)

Здесь 'file.csv' — это имя файла с данными. Параметр delimiter указывает на то, что данные разделены запятыми. names=True говорит о том, что первая строка файла содержит названия столбцов. dtype=None позволяет NumPy самостоятельно определить типы данных в столбцах.

Использование функции csv.reader вместе с numpy.core.records.fromrecords

Альтернативный подход — использовать стандартную библиотеку Python для чтения CSV файлов, а затем преобразовать прочитанные данные в рекордный массив с помощью numpy.core.records.fromrecords.

import csv
import numpy as np

with open('file.csv', 'r') as f:
    reader = csv.reader(f)
    names = next(reader)
    rows = list(reader)

data = np.core.records.fromrecords(rows, names=names)

В этом коде сначала открывается файл с помощью функции open, а затем создается объект csv.reader, который позволяет построчно читать файл. Затем с помощью функции next считывается первая строка файла, которая содержит названия столбцов. Оставшиеся строки считываются в список rows. В конце, с помощью функции numpy.core.records.fromrecords() создается рекордный массив.

Оба подхода позволяют эффективно решать задачу загрузки данных из CSV файла в рекордный массив. Выбор конкретного подхода зависит от конкретной ситуации и предпочтений разработчика.

Добавить комментарий

Подарок
Забрать подарок