python
August 5, 2019

Pandas for beginners.

На сегодняшний день, пакет Pandas это самый важный инструмент во всем, что касается анализа данных. Многие аналитики и data scientis'ы пользуются этим пакетом.

Первые шаги в Pandas

Для того, чтобы установить пандас, откройте свою консоль, и введите:
pip install pandas

либо

pip3 install pandas
Для импортирования пандас мы обычно используем короткое имя:
import pandas as pd

Теперь перейдем к базовым компонентам пандас.

Ключевые компоненты: Series и DataFrames

Основные компоненты пандас это Series и DataFrame. Series это что-то вроде столбца с данными, DataFrame же это таблица, созданная из столбцов Series:

Существует множество способов создания DataFrame, но на мой взгляд самым простым и удобным является использование dict.

data = {
    'apples': [3, 2, 0, 1], 
    'oranges': [0, 3, 7, 2]
}
Теперь создадим DataFrame, в котором содержатся заказы на яблоки и апельсины:
purchases = pd.DataFrame(data)

Как это работает?

Каждый элемент (ключ, значение) в данных соответствует столбцу в результирующем DataFrame. Индекс в DataFrame пандас создал автоматически в виде чисел 0-3, но мы также можем создать наш собственный, в момент инициализации DataFrame.

Давайте в качестве индекса используем имена:
purchases = pd.DataFrame(data, index=['June', 'Robert', 'Lily', 'David'])
Теперь мы можем запросто найти заказ клиента, используя его имя:
purchases.loc['June']

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

Чтение данных

Загрузка данных из различных форматов файлов в DataFrame довольно проста. В следующих примерах мы продолжим использовать данные об яблоках и апельсинах, но на этот раз эти данные будут браться из различных файлов.

Чтение данных из CSV

Все что нам нужно с CSV-файлами, это одна строка для загрузки данных:
df = pd.read_csv ('purchases.csv')
CSV файлы по умолчанию не имеют индексов, поэтому все что нам нужно сделать, это указать столбец с индексами при помощи index_col:
df = pd.read_csv('purchases.csv', index_col=0)

Чтение данных из JSON

Если у вас есть JSON-файл (который по сути является словарем), пандас может прочитать его так же легко:
df = pd.read_json('purchases.json')

Обратите внимание, что на этот раз индекс пришел правильно, поскольку мы использовали JSON. Не стесняйтесь открывать файл с данными data.json в блокноте, чтобы видеть как именно он работает.

Pandas попытается выяснить, как создать DataFrame, проанализировав структуру вашего JSON, и иногда это приводит к неправильным результатам. Часто вам будет нужно установить аргумент orient в зависимости от структуры, поэтому обязательно посмотрите документацию read_json об этом аргументе, чтобы узнать, какую ориентацию вы используете.


Статья подготовлена и написана для канала Hello World.