Предположим, что если вы хотите начать проект ML, то, что вам понадобится в первую очередь? Это данные, которые нам нужно загрузить для запуска любого проекта ML. Что касается данных, наиболее распространенным форматом данных для проектов ОД является CSV (значения, разделенные запятыми).
По сути, CSV — это простой формат файла, который используется для хранения табличных данных (числа и текста), таких как электронная таблица, в виде простого текста. В Python мы можем загружать данные CSV различными способами, но перед загрузкой данных CSV мы должны позаботиться о некоторых соображениях.
Рассмотрение при загрузке данных CSV
Формат данных CSV является наиболее распространенным форматом для данных ML, но мы должны позаботиться о том, чтобы следовать основным соображениям, загружая их в наши проекты ML.
Заголовок файла
В файлах данных CSV заголовок содержит информацию для каждого поля. Мы должны использовать один и тот же разделитель для файла заголовка и для файла данных, потому что это файл заголовка, который определяет, как следует интерпретировать поля данных.
Ниже приведены два случая, связанные с заголовком файла CSV, которые необходимо учитывать:
-
Случай I: Когда файл данных имеет заголовок файла — он автоматически присваивает имена каждому столбцу данных, если файл данных имеет заголовок файла.
-
Случай II: Когда файл данных не имеет заголовка файла — нам нужно назначить имена для каждого столбца данных вручную, если файл данных не имеет заголовка файла.
Случай I: Когда файл данных имеет заголовок файла — он автоматически присваивает имена каждому столбцу данных, если файл данных имеет заголовок файла.
Случай II: Когда файл данных не имеет заголовка файла — нам нужно назначить имена для каждого столбца данных вручную, если файл данных не имеет заголовка файла.
В обоих случаях мы должны явно указать, содержит ли наш CSV-файл заголовок или нет.
Комментарии
Комментарии в любом файле данных имеют свое значение. В файле данных CSV комментарии обозначаются хешем (#) в начале строки. Нам нужно учитывать комментарии при загрузке данных CSV в проекты ML, потому что, если у нас есть комментарии в файле, нам, возможно, потребуется указать, зависит от выбранного нами способа загрузки, ожидать ли эти комментарии или нет.
Разделитель
В файлах данных CSV символ запятой (,) является стандартным разделителем. Роль разделителя заключается в разделении значений в полях. Важно учитывать роль разделителя при загрузке файла CSV в проекты ML, поскольку мы также можем использовать другой разделитель, такой как табуляция или пробел. Но в случае использования разделителя, отличного от стандартного, мы должны указать его явно.
Цитаты
В файлах данных CSV знак двойной кавычки («») является символом кавычки по умолчанию. Важно учитывать роль кавычек при загрузке файла CSV в проекты ML, потому что мы также можем использовать другой символ кавычки, кроме двойной кавычки. Но в случае использования символа кавычки, отличного от стандартного, мы должны указать его явно.
Методы для загрузки файла данных CSV
При работе с проектами ML наиболее важной задачей является правильная загрузка данных в него. Наиболее распространенным форматом данных для проектов ML является CSV, и он имеет различные разновидности и разные трудности для анализа. В этом разделе мы собираемся обсудить три распространенных подхода в Python для загрузки файла данных CSV —
Загрузите CSV со стандартной библиотекой Python
Первый и наиболее используемый подход для загрузки файла данных CSV — это использование стандартной библиотеки Python, которая предоставляет нам множество встроенных модулей, а именно модуль csv и функцию reader () . Ниже приведен пример загрузки файла данных CSV с его помощью —
пример
В этом примере мы используем набор данных радужной оболочки, который можно загрузить в наш локальный каталог. После загрузки файла данных мы можем преобразовать его в
NumPy
массив и использовать его для проектов ML. Ниже приведен скрипт Python для загрузки файла данных CSV —
Во-первых, нам нужно импортировать модуль csv, предоставляемый стандартной библиотекой Python, следующим образом:
import csv
Далее нам нужно импортировать модуль Numpy для преобразования загруженных данных в массив NumPy.
import numpy as np
Теперь укажите полный путь к файлу, хранящемуся в нашем локальном каталоге, с файлом данных CSV —
path = r"c:\iris.csv"
Затем используйте функцию csv.reader () для чтения данных из файла CSV —
with open(path,'r') as f: reader = csv.reader(f,delimiter = ',') headers = next(reader) data = list(reader) data = np.array(data).astype(float)
Мы можем напечатать имена заголовков с помощью следующей строки скрипта —
print(headers)
Следующая строка скрипта напечатает форму данных, т.е. количество строк и столбцов в файле —
print(data.shape)
Следующая строка скрипта даст первые три строки файла данных —
print(data[:3])
Выход
['sepal_length', 'sepal_width', 'petal_length', 'petal_width'] (150, 4) [[5.1 3.5 1.4 0.2] [4.9 3. 1.4 0.2] [4.7 3.2 1.3 0.2]]
Загрузите CSV с NumPy
Другой подход к загрузке файла данных CSV — это функции NumPy и numpy.loadtxt () . Ниже приведен пример загрузки файла данных CSV с его помощью —
пример
В этом примере мы используем набор данных индейцев Pima, содержащий данные пациентов с диабетом. Этот набор данных является числовым набором данных без заголовка. Его также можно загрузить в наш локальный каталог. После загрузки файла данных мы можем преобразовать его в массив NumPy и использовать его для проектов ML. Ниже приведен скрипт Python для загрузки файла данных CSV —
from numpy import loadtxt path = r"C:\pima-indians-diabetes.csv" datapath= open(path, 'r') data = loadtxt(datapath, delimiter=",") print(data.shape) print(data[:3])
Выход
(768, 9) [[ 6. 148. 72. 35. 0. 33.6 0.627 50. 1.] [ 1. 85. 66. 29. 0. 26.6 0.351 31. 0.] [ 8. 183. 64. 0. 0. 23.3 0.672 32. 1.]]
Загрузить CSV с пандами
Другой подход к загрузке файла данных CSV — использование функций Pandas и pandas.read_csv () . Это очень гибкая функция, которая возвращает pandas.DataFrame, которую можно сразу использовать для построения графиков. Ниже приведен пример загрузки файла данных CSV с его помощью —
пример
Здесь мы будем реализовывать два скрипта Python, первый — с набором данных Iris, имеющим заголовки, а другой — с использованием набора данных индейцев Pima, который представляет собой числовой набор данных без заголовка. Оба набора данных могут быть загружены в локальный каталог.
Script-1
Ниже приведен скрипт Python для загрузки файла данных CSV с использованием набора данных Pandas на Iris —
from pandas import read_csv path = r"C:\iris.csv" data = read_csv(path) print(data.shape) print(data[:3])
Выход
(150, 4) sepal_length sepal_width petal_length petal_width 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2
Script-2
Ниже приведен скрипт Python для загрузки файла данных CSV, а также указание имен заголовков с использованием Pandas в наборе данных диабета индейцев Pima.
from pandas import read_csv path = r"C:\pima-indians-diabetes.csv" headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] data = read_csv(path, names=headernames) print(data.shape) print(data[:3])
Выход
(768, 9) preg plas pres skin test mass pedi age class 0 6 148 72 35 0 33.6 0.627 50 1 1 1 85 66 29 0 26.6 0.351 31 0 2 8 183 64 0 0 23.3 0.672 32 1
Различие между тремя вышеупомянутыми подходами для загрузки файла данных CSV легко понять с помощью приведенных примеров.