Анализ данных с помощью pandas. Часть 1: Чтение данных из csv файла

Эта часть показывает способ обработки данных, хранящихся в формате csv, а также построение простейших графиков.

Необходимые импорты и настройки

In [1]:
# Рисовать графики сразу же
%matplotlib inline

import pandas as pd
import matplotlib.pyplot as plt

plt.style.use('ggplot')  # Красивые графики
plt.rcParams['figure.figsize'] = (15, 5)  # Размер картинок

Чтение из csv файла

Можно читать данные из CSV файла с помощью функции read_csv. По умолчанию предполагается, что поля разделены запятыми.

Мы рассмотрим некоторые данные о велосипедистах Монреаля. Скачаем данные отсюда.

Этот набор данных описывает, сколько людей находилось на 7 различных велосипедных дорожках Монреаля, каждый день.

Просто взять и прочитать с помощью read_csv не получится, нужно задать аргументы, которые сделают следующее:

  • Изменят разделитель на ;
  • Изменят кодировку на 'latin1' (по умолчанию считается 'utf8')
  • Обработают даты в колонке 'Date'
  • Скажут, что сначала идёт день, а потом месяц (формат YYYY-DD-MM)
  • Изменят индекс на значения в колонке 'Date'
In [2]:
fixed_df = pd.read_csv('data/bikes.csv',  # Это то, куда вы скачали файл
                       sep=';', encoding='latin1',
                       parse_dates=['Date'], dayfirst=True,
                       index_col='Date')
fixed_df[:3]
Out[2]:
Berri 1Brébeuf (données non disponibles)Côte-Sainte-CatherineMaisonneuve 1Maisonneuve 2du ParcPierre-DupuyRachel1St-Urbain (données non disponibles)
Date
2012-01-0135NaN03851261016NaN
2012-01-0283NaN16815353643NaN
2012-01-03135NaN210424889358NaN

Выбор колонок

Когда вы обрабатываете CSV с помощью pandas, вы получаете объект под названием DataFrame, который состоит из строк и столбцов. Вы можете получать столбцы таким же образом, каким получаете элементы словаря.

Например:

In [3]:
fixed_df['Berri 1'][:10]
Out[3]:
Date
2012-01-01     35
2012-01-02     83
2012-01-03    135
2012-01-04    144
2012-01-05    197
2012-01-06    146
2012-01-07     98
2012-01-08     95
2012-01-09    244
2012-01-10    397
Name: Berri 1, dtype: int64

Графики

Просто добавьте .plot() в конец! Что может быть проще этого? =)

Мы можем видеть (сюрприз!), что не так много людей катаются на велосипеде в январе, феврале и в марте.

In [4]:
fixed_df['Berri 1'].plot()
Out[4]:

Мы также можем построить график для всех колонок. Также мы сделаем картинку чуть-чуть побольше.

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

In [5]:
fixed_df.plot(figsize=(15, 10))
Out[5]:

На этом данная часть заканчивается. Подписывайтесь и ждите продолжения!

Для вставки кода на Python в комментарий заключайте его в теги <pre><code class="python3">Ваш код</code></pre>
Опечатка в тексте:
Послать сообщение об ошибке автору?