Основы анализа данных с использованием Python и его библиотек

Почему Python для анализа данных?

Для многих людей язык программирования Python очень привлекателен. С момента своего первого появления в 1991 году Python стал одним из самых популярных интерпретируемых языков программирования наряду с Perl, Ruby и другими. Python и Ruby стали особенно популярными с 2005 года или около того для создания веб-сайтов с использованием их многочисленных веб-фреймворков, таких как Rails (Ruby) и Django (Python). Такие языки часто называют языками сценариев, поскольку их можно использовать для быстрого написания небольших программ или сценариев для автоматизации других задач.

Python создал большое и активное сообщество в области научных вычислений и анализа данных. За последние 10 лет Python превратился из передового языка научных вычислений «на ваш страх и риск» в один из самых важных языков для науки о данных, машинного обучения и общей разработки программного обеспечения в академических кругах и промышленности.

Для анализа данных, интерактивных вычислений и визуализации данных Python неизбежно будет проводить сравнения с другими широко используемыми языками и инструментами программирования с открытым исходным кодом и коммерческими инструментами, такими как R, MATLAB, SAS, Stata и другими. В последние годы улучшенная поддержка библиотек (таких как pandas и scikit-learn) в Python сделала его популярным выбором для задач анализа данных. В сочетании с общей силой Python в области разработки программного обеспечения общего назначения, он является отличным вариантом в качестве основного языка для создания приложений для обработки данных.

Основные библиотеки Python:

  1. Numpy
  2. Панды
  3. Матполтлиб
  4. Ипайтон и Юпитер
  5. SciPy
  6. Scikit-Learn
  7. Статистические модели

Установка и настройка:

Я хотел бы порекомендовать Anaconda с версией Python 3.6.

Windows:

Чтобы начать работу в Windows, загрузите установщик Anaconda. Я рекомендую следовать инструкциям по установке для Windows, доступным на странице загрузки Anaconda.

Давайте проверим, что все настроено правильно. Чтобы открыть приложение командной строки (также известное как cmd.exe), щелкните правой кнопкой мыши меню «Пуск» и выберите пункт «Командная строка». Попробуйте запустить интерпретатор Python, набрав python. Вы должны увидеть сообщение, соответствующее установленной вами версии Anaconda:

C:\Users\wesm>python Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32 >>>

Чтобы выйти из оболочки, нажмите Ctrl-D (в Linux или macOS), Ctrl-Z (в Windows) или введите команду exit () и нажмите Enter.

Установка или обновление пакетов Python:

В какой-то момент во время чтения вы можете захотеть установить дополнительные пакеты Python, которые не включены в дистрибутив Anaconda. Как правило, их можно установить с помощью следующей команды:

conda install package_name

Если это не сработает, вы также можете установить пакет с помощью инструмента управления пакетами pip:

pip install package_name

Вы можете обновить пакеты с помощью команды conda update:

conda update package_name

pip также поддерживает обновления с помощью флага - upgrade:

pip install --upgrade package_name

Хорошо. Давайте поговорим о важных библиотеках Python для анализа данных:

Numpy:

Numpy, сокращение от Numerical Python, долгое время был краеугольным камнем численных вычислений в Python. Он предоставляет структуры данных, алгоритмы и библиотечный клей, необходимые для большинства научных приложений, использующих числовые данные в Python. NumPy содержит, среди прочего:

  • Быстрый и эффективный объект многомерного массива ndarray
  • Функции для выполнения поэлементных вычислений с массивами или математических операций между массивами
  • Инструменты для чтения и записи массивов данных на диск
  • Операции линейной алгебры, преобразование Фурье и генерация случайных чисел
  • Зрелый C API, позволяющий расширениям Python и собственному коду C или C ++ получать доступ к структурам данных и вычислительным возможностям NumPy.

Помимо возможностей быстрой обработки массивов, которые NumPy добавляет в Python, одно из его основных применений в анализе данных - это контейнер для данных, передаваемых между алгоритмами и библиотеками. Для числовых данных массивы NumPy более эффективны для хранения и обработки данных, чем другие встроенные структуры данных Python.

Пример для numpy:

Прежде чем приступить к написанию кода, проверьте, установлена ​​ли библиотека numpy или просто установите ее с помощью pip install numpy.

In [1]: import numpy as np
In [2]: data = np.random.randn(2, 3)
In [3]: data

Вывод:

Out[3]: array([[-0.2047, 0.4789, -0.5194], 
                [-0.5557, 1.9658, 1.3934]])

Затем напишите математические операции с данными:

In [4]: data * 10
Out[4]: array([[ -2.0471, 4.7894, -5.1944],
               [ -5.5573, 19.6578, 13.9341]])

Панды:

Он содержит структуры данных и инструменты управления данными, предназначенные для быстрой и простой очистки и анализа данных в Python. pandas часто используется в тандеме с инструментами численных вычислений, такими как NumPy и SciPy, аналитическими библиотеками, такими как statsmodels и scikit-learn, и библиотеками визуализации данных, такими как matplotlib. pandas принимает важные части идиоматического стиля вычислений на основе массивов NumPy, особенно функции на основе массивов и предпочтение обработки данных без циклов for.

Импорт библиотеки pandas:

import pandas as pd

Чтобы начать работу с pandas, вам нужно освоиться с двумя структурами данных: Series и DataFrame.

Ряд:

Серия - это одномерный объект, подобный массиву, содержащий последовательность значений и связанный с ним массив меток данных, называемый его индексом. Простейшая серия формируется только из массива данных:

In [1]: obj = pd.Series([4, 7, -5, 3])
In [2]: obj
Out[2]: 0 4
         1 7
         2 -5
         3 3
         dtype: int64

DataFrame:

DataFrame представляет собой прямоугольную таблицу данных и содержит упорядоченную коллекцию столбцов, каждый из которых может иметь разные типы значений (числовые, строковые, логические и т. Д.). DataFrame имеет индекс как строки, так и столбца, его можно рассматривать как словарь Series, использующий один и тот же индекс. Под капотом данные хранятся в виде одного или нескольких двумерных блоков, а не списка, dict или некоторого другого набора одномерных массивов.

# creating dataframe
In [3]: data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
                'year': [2000, 2001, 2002, 2001, 2002, 2003], 
                'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]} 
In [4]: frame = pd.DataFrame(data)
In [5]: frame
Out[45]:  
  pop state year
0 1.5 Ohio 2000 
1 1.7 Ohio 2001
2 3.6 Ohio 2002 
3 2.4 Nevada 2001 
4 2.9 Nevada 2002 
5 3.2 Nevada 2003

Матполтлиб:

Визуализация данных - самая важная часть любого анализа. Matplotlib - потрясающая библиотека Python, которую можно использовать для построения фрейма данных pandas. Существуют различные способы создания сюжета в зависимости от требований.

# importing pandas library
import pandas as pd
# importing matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
 'Name': ['John', 'Sammy', 'Joe'],
 'Age': [45, 38, 90]
})
# plotting a bar graph
df.plot(x="Name", y="Age", kind="bar")

Вывод: