Эта часть показывает способ обработки данных, хранящихся в формате 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]
Выбор колонок
Когда вы обрабатываете 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]:
На этом данная часть заканчивается. Подписывайтесь и ждите продолжения