Достаточно, чтобы начать использовать его эффективно

В этом руководстве я выскажу свое мнение о том, сколько достаточно, чтобы начать работу с одной из лучших библиотек исследования данных Python, правильно, Pandas.

Идя дальше, я предполагаю, что у вас есть базовые знания Python и файла CSV (значения, разделенные запятыми)/Excel, который вы хотите изучить. Используйте pip для установки панд:

pip install pandas

Создайте новый файл Python (explore_csv.py), добавьте первую строку как:

import pandas as pd

Это руководство предназначено для начинающих и профессионалов, работающих в сфере анализа данных. Описанные ниже методы — это то, как я (инженер-электрик) начал анализировать и исследовать файлы CSV и Excel, поэтому могут быть некоторые профессионалы, которые не согласны со мной (дайте мне знать в комментариях). Итак, без лишних слов, приступим.

Самое первое: знайте свои данные

Да! Я имею в виду, конечно. Как владелец данных вы должны быть знакомы с некоторыми функциями/столбцами файла данных. Вот пример набора данных от Kaggle.

Я изменил этот файл, чтобы сделать его проще; Он содержит две колонки:

  1. Дата-время дня
  2. Энергия, вырабатываемая с использованием солнечной энергии

Обратите внимание, столбец 2 может быть любым: Цена за единицу продукта для продавца, количество проданных блюд для владельца ресторана, цена акций для акционера. Это зависит от отрасли, к которой вы принадлежите, и может быть больше столбцов, содержащих данные, подобные этому наблюдению.

Загрузить данные с помощью: read_csv()

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

data = pd.read_csv(‘Name_of_file.csv’)

Теперь, если вы тщательно выполнили первый шаг, вы знаете, что в вашем файле есть столбец даты и времени, и вы будете основывать свое исследование на этом. Мы называем это набором данных временного ряда. Мы переключим столбец «время» на индексный столбец, и этого можно добиться с помощью дат синтаксического анализа и index_colаргументы доступны в pd.read_csv(). После этой строки панды будут знать, что «время» — это индексный столбец, и он имеет формат DateTime.

data = pd.read_csv('Name_of_file.csv', parse_dates=True, index_col='time')

Разделите свой набор данных

Этот файл CSV содержит данные с 01:00:00 01:00 2015 по 31:00:00 2018–12:00. У вас могут быть еще более массивные наборы данных, вероятно, за десять лет. Слишком много наблюдений, чтобы анализировать их одновременно. Обычно вы анализируете данные по годам. Итак, мы разделим наш набор данных только на 2016 год.

Поскольку вы уже сделали «время» столбцом индекса, теперь вы можете очень легко и быстро разбивать наборы данных. Вы передаете диапазоны дат в виде строки, как показано ниже:

# Slice dataframe to only 2016
data_2016 = data[’2016-01-01’:’2016-12-31’]
# Print first 5 observations
print data_2016.head()
# Print last 5 observations
print data_2016.tail()

Теперь вы можете видеть, что наш фрейм данных содержит данные только за 2016 год. Теперь мы можем перейти к нашему последнему шагу исследования.

Извлечь что-либо из набора данных

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

  1. Мы будем использовать функцию pandas idxmax(), чтобы получить максимальное значение и время его возникновения.
print data_2016.loc[data_2016['generation solar'].idxmax()]
Output:
generation solar    5792.0
Name: 2016-02-05 13:00:00+00:00, dtype: float64

2. data_2016[‘column name’].mean(), чтобы получить среднее количество солнечной энергии за 2016 год:

print data_2016['generation solar'].mean()
Output:
1405.852

3. Мы будем использовать функцию pandas idxmin(), чтобы получить максимальное значение и время его возникновения.

print data_2016.loc[data_2016['generation solar'].idxmin()]
Output:
generation solar    9.0
Name: 2016-02-14 05:00:00+00:00, dtype: float64

4. Суммарная выработка электроэнергии за 2016 г.: просуммируйте все строки.

print data_2016['generation solar'].sum()
Output:
12347600.0

5. Наш набор данных отбирается с часовой частотой, поэтому давайте суммируем все часовые значения до дневного значения и узнаем среднесуточную выработку электроэнергии.

# Resample data daily
daily_data_2016 = data_2016['generation solar'].resample('D').sum()
# Average daily power generation
print daily_data_2016['generation solar'].mean()
Output:
33736.61202

Вывод

Pandas — это мощная библиотека для исследования и анализа данных. Это были первые шаги для эффективного изучения набора данных. Есть много других способов, с которых вы можете начать свое исследование; вы можете использовать библиотеку matplotlib для построения вашего набора данных, вы можете использовать numpy

У Pandas отличная документация. Вы также можете начать свое путешествие с пандами из Руководства пользователя.