Как установить pandas для python windows
Перейти к содержимому

Как установить pandas для python windows

Использование пакета pandas в Python 3

Пакет pandas в Python 3 используется для управления и анализа данных (в том числе помеченных и реляционных данных).

Разработанный на основе библиотеки numpy, пакет pandas включает в себя метки и описательные индикаторы. Пакет pandas особенно производителен и надёжен при работе с распространенными форматами данных и пропущенными данными.

Пакет pandas предоставляет функции для работы с электронными таблицами; чтобы повысить производительность pandas при работе с данными, используйте Python вместо электронных таблиц.

Данное руководство поможет установить pandas и ознакомит вас с основными структурами данных: Series и DataFrames

Установка pandas

Как и другие пакеты Python, pandas можно установить с помощью менеджера pip.

Читайте также:

Разверните среду разработки и установите pandas и зависимости пакета:

pip install pandas numpy python-dateutil pytz

Команда должна вернуть примерно следующее:

Successfully installed pandas-0.19.2

Чтобы установить pandas в Anaconda, запустите команду:

conda install pandas

Теперь вы можете приступать к работе с pandas.

Структура данных Series

В pandas Series – это одномерные массивы, которые могут содержать любой тип данных. Метки осей называют индексом.

Запустите интерпретатор Python в командной строке:

Теперь импортируйте пакеты numpy и pandas в пространство имен:

import numpy as np
import pandas as pd

Общая структура Series имеет такой вид:

s = pd.Series([data], index=[index])

Обратите внимание: эта структура очень похожа на список Python.

Работа без индекса

Введите целочисленные данные, а затем добавьте параметр name для Series; в этот раз попробуем работать с pandas без индексации, потому не используйте параметр index.

s = pd.Series([0, 1, 4, 9, 16, 25], name=’Squares’)

Теперь вызовите данные:

На экране появится следующий вывод: индекс будет в левом столбце, а значения данных – в правом столбце. Под столбцами вы увидите имя Series и представленный тип данных.

0 0
1 1
2 4
3 9
4 16
5 25
Name: Squares, dtype: int64

Вышеприведённый пример показал, что pandas может выполнять автоматическую индексацию массива.

Индексация в pandas

Кроме того, вы можете сами задавать индексы в Series. Давайте создадим массив, содержащий данные о средней глубине океанов Земли в метрах:

avg_ocean_depth = pd.Series([1205, 3646, 3741, 4080, 3270], index=[‘Arctic’, ‘Atlantic’, ‘Indian’, ‘Pacific’, ‘Southern’])

avg_ocean_depth
Arctic 1205
Atlantic 3646
Indian 3741
Pacific 4080
Southern 3270
dtype: int64

Указанные вами индексы находятся слева, а значения – справа.

Индексация и срез Series

Пакет pandas позволяет извлекать значения по номеру индекса:

Также по индексу можно создавать и извлекать срезы:

avg_ocean_depth[2:4] Indian 3741
Pacific 4080
dtype: int64

Извлечь данные можно и по значению индекса, например:

Значения индекса можно использовать для создания срезов:

avg_ocean_depth[‘Indian’:’Southern’] Indian 3741
Pacific 4080
Southern 3270
dtype: int64

Обратите внимание: при создании среза по значению индекса оба индекса используются включительно.

Чтобы остановить интерпретатор Python, введите quit().

Использование словарей в Series

Пакет pandas позволяет использовать словари для инициализации Series.

Читайте также: Словари в Python 3

То есть, вместо индексов можно использовать встроенные ключи.

Создайте файл ocean.py и добавьте следующий словарь с функцией отображения:

import numpy as np
import pandas as pd
avg_ocean_depth = pd.Series( <
‘Arctic’: 1205,
‘Atlantic’: 3646,
‘Indian’: 3741,
‘Pacific’: 4080,
‘Southern’: 3270
>)
print(avg_ocean_depth)

Запустите файл в командной строке:

Arctic 1205
Atlantic 3646
Indian 3741
Pacific 4080
Southern 3270
dtype: int64

Данные Series отображаются в организованном порядке, индексы (представленные ключами) находятся слева, а множество значений – справа.

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

.
print(avg_ocean_depth[‘Indian’])
print(avg_ocean_depth[‘Atlantic’:’Indian’])
Output
3741
Atlantic 3646
Indian 3741
dtype: int64

Однако такие данные Series являются объектами Python, потому функции словарей доступны не будут.

Структура данных DataFrame

DataFrame – это двухмерные структуры помеченных данных, столбцы которых могут содержать разные типы данных.

Данные DataFrame похожи на электронную таблицу или таблицу SQL. В целом DataFrame – самый распространённый объект при работе с pandas.

Чтобы понять, как работает DataFrame, создайте две структуры Series и передайте их DataFrame. Первая структура Series – это avg_ocean_depth (из вышеприведённого примера), а вторая структура будет называться max_ocean_depth и содержать данные о максимальной глубине каждого океана в метрах. Откройте файл ocean.py и добавьте в него:

import numpy as np
import pandas as pd
avg_ocean_depth = pd.Series( <
‘Arctic’: 1205,
‘Atlantic’: 3646,
‘Indian’: 3741,
‘Pacific’: 4080,
‘Southern’: 3270
>)
max_ocean_depth = pd.Series( <
‘Arctic’: 5567,
‘Atlantic’: 8486,
‘Indian’: 7906,
‘Pacific’: 10803,
‘Southern’: 7075
>)

Структуры Series готовы. Теперь добавьте в конец файла DataFrame (под max_ocean_depth). В данном примере обе структуры Series имеют одинаковые метки индексов; если бы структуры Series имели разные метки индексов, пропущенные значения были бы помечены как NaN.

.
max_ocean_depth = pd.Series( <
‘Arctic’: 5567,
‘Atlantic’: 8486,
‘Indian’: 7906,
‘Pacific’: 10803,
‘Southern’: 7075
>)
ocean_depths = pd.DataFrame( <
‘Avg. Depth (m)’: avg_ocean_depth,
‘Max. Depth (m)’: max_ocean_depth
>)

В массив можно добавить метки столбцов, которые объявлены как ключи переменных Series. Чтобы увидеть DataFrame, отобразите данные:

print(ocean_depths)
Avg. Depth (m) Max. Depth (m)
Arctic 1205 5567
Atlantic 3646 8486
Indian 3741 7906
Pacific 4080 10803
Southern 3270 7075

В результате на экране появится два столбца с соответствующими заголовками, числовые данные справа и метки из словаря (ключи) слева.

Сортировка данных в DataFrame

Вы можете сортировать данные в DataFrame с помощью функции DataFrame.sort_values(by=…).

Для примера используем логический параметр ascending, который может быть истинным или ложным (True или False). Параметр ascending можно передать функции, а descending – нельзя.

.
print(ocean_depths.sort_values(‘Avg. Depth (m)’, ascending=True))
Output
Avg. Depth (m) Max. Depth (m)
Arctic 1205 5567
Southern 3270 7075
Atlantic 3646 8486
Indian 3741 7906
Pacific 4080 10803

Теперь в выводе значения расположены в порядке возрастания.

DataFrame и статистический анализ

Пакет pandas позволяет собирать общие статистические данные с помощью функции DataFrame.describe().

Без дополнительных параметров функция DataFrame.describe() предоставит следующую информацию для числовых типов данных:

Вывод

Что это значит?

Запросите статистику структуры ocean_depths с помощью функции describe().

На экране появятся данные:

Avg. Depth (m) Max. Depth (m)
count 5.000000 5.000000
mean 3188.400000 7967.400000
std 1145.671113 1928.188347
min 1205.000000 5567.000000
25% 3270.000000 7075.000000
50% 3646.000000 7906.000000
75% 3741.000000 8486.000000
max 4080.000000 10803.000000

Обработка пропущенных значений

Пропущенные значения часто встречаются при работе с данными. Пакет pandas предоставляет множество способов обработки пропущенных данных (данных null), то есть тех данных, которые были пропущены по той или иной причине. В pandas такие данные называются данными NA и отображаются как NaN.

Рассмотрим некоторые функции работы с пропущенными данными (например, сброс и заполнение). Для сброса используется функция DataFrame.dropna(), а для заполнения – DataFrame.fillna().

Создайте файл user_data.py, добавьте в него данные с пропущенными значениями и превратите в DataFrame:

import numpy as np
import pandas as pd
user_data = <'first_name': ['Sam', 'Jesse', np.nan, 'Jamie'],
‘last_name’: [‘Smith’, ‘Jones’, np.nan, ‘Miller’],
‘online’: [True, np.nan, False, True],
‘followers’: [987, 432, 321, np.nan]>
df = pd.DataFrame(user_data, columns = [‘first_name’, ‘last_name’, ‘online’, ‘followers’])
print(df)

Теперь отобразите данные:

first_name last_name online followers
0 Sam Smith True 987.0
1 Jesse Jones NaN 432.0
2 NaN NaN False 321.0
3 Jamie Miller True NaN

В них присутствует несколько пропущенных значений.

Попробуйте сбросить пропущенные значения. Добавьте в файл опцию:

.
df_drop_missing = df.dropna()
print(df_drop_missing)

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

first_name last_name online followers
0 Sam Smith True 987.0

Пропущенные значения можно заполнить любыми значениями, например, вставить 0. Это делается с помощью DataFrame.fillna(0).

Удалите или закомментируйте последнюю строку в файле и добавьте в него такую строку:

.
df_fill = df.fillna(0)
print(df_fill)

Снова запустите программу. На экране появится:

first_name last_name online followers
0 Sam Smith True 987.0
1 Jesse Jones 0 432.0
2 0 0 False 321.0
3 Jamie Miller True 0.0

Теперь на экране отображаются все строки, а пропущенные значения NaN заменены нулем.

Заключение

Данное руководство ознакомило вас с основами pandas в Python 3: теперь вы умеете устанавливать этот пакет, использовать структуры Series и DataFrame, сортировать и анализировать данные.

Библиотека Pandas в Python

Pandas – это библиотека с открытым исходным кодом на Python. Она предоставляет готовые к использованию высокопроизводительные структуры данных и инструменты анализа данных.

  • Модуль Pandas работает поверх NumPy и широко используется для обработки и анализа данных.
  • NumPy – это низкоуровневая структура данных, которая поддерживает многомерные массивы и широкий спектр математических операций с массивами. Pandas имеет интерфейс более высокого уровня. Он также обеспечивает оптимизированное согласование табличных данных и мощную функциональность временных рядов.
  • DataFrame – это ключевая структура данных в Pandas. Это позволяет нам хранить и обрабатывать табличные данные, как двумерную структуру данных.
  • Pandas предоставляет богатый набор функций для DataFrame. Например, выравнивание данных, статистика данных, нарезка, группировка, объединение, объединение данных и т.д.

Установка и начало работы с Pandas

Для установки модуля Pandas вам потребуется Python 2.7 и выше.

Если вы используете conda, вы можете установить его, используя команду ниже.

Если вы используете PIP, выполните команду ниже, чтобы установить модуль pandas.

Модуль Pandas в Python

Чтобы импортировать Pandas и NumPy в свой скрипт Python, добавьте следующий фрагмент кода:

Поскольку Pandas зависит от библиотеки NumPy, нам нужно импортировать эту зависимость.

Структуры данных

Модуль Pandas предоставляет 3 структуры данных, а именно:

  • Series: это одномерный массив неизменного размера, подобный структуре, имеющей однородные данные.
  • DataFrames: это двумерная табличная структура с изменяемым размером и неоднородно типизированными столбцами.
  • Panel: это трехмерный массив с изменяемым размером.

DataFrame

DataFrame – самая важная и широко используемая структура данных, а также стандартный способ хранения данных. Она содержит данные, выровненные по строкам и столбцам, как в таблице SQL или в базе данных электронной таблицы.

Мы можем либо жестко закодировать данные в DataFrame, либо импортировать файл CSV, файл tsv, файл Excel, таблицу SQL и т.д.

Мы можем использовать приведенный ниже конструктор для создания объекта DataFrame.

Ниже приводится краткое описание параметров:

  • data – создать объект DataFrame из входных данных. Это может быть список, dict, series, Numpy ndarrays или даже любой другой DataFrame;
  • index – имеет метки строк;
  • columns – используются для создания подписей столбцов;
  • dtype – используется для указания типа данных каждого столбца, необязательный параметр;
  • copy – используется для копирования данных, если есть.

Есть много способов создать DataFrame. Мы можем создать объект из словарей или списка словарей. Мы также можем создать его из списка кортежей, CSV, файла Excel и т.д.

Давайте запустим простой код для создания DataFrame из списка словарей.

Модуль Dataframe Python

Первый шаг – создать словарь. Второй шаг – передать словарь в качестве аргумента в метод DataFrame(). Последний шаг – распечатать DataFrame.

Как видите, DataFrame можно сравнить с таблицей, имеющей неоднородное значение. Кроме того, можно изменить размер.

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

Индекс отображается в крайнем левом столбце и имеет метки строк. Заголовок столбца и данные отображаются в виде таблицы.

Также возможно создавать индексированные DataFrames. Это можно сделать, настроив параметр индекса.

Импорт данных из CSV

Мы также можем создать DataFrame, импортировав файл CSV. Файл CSV – это текстовый файл с одной записью данных в каждой строке. Значения в записи разделяются символом «запятая».

Pandas предоставляет полезный метод с именем read_csv() для чтения содержимого файла CSV.

Например, мы можем создать файл с именем «cities.csv», содержащий подробную информацию о городах Индии. Файл CSV хранится в том же каталоге, что и сценарии Python. Этот файл можно импортировать с помощью:

Наша цель – загрузить данные и проанализировать их, чтобы сделать выводы. Итак, мы можем использовать любой удобный способ загрузки данных.

Проверка данных

Head

Tail

Точно так же print (df.dtypes) печатает типы данных.

Dtype

print (df.index) печатает index.

df.index

print (df.columns) печатает столбцы DataFrame.

df.columns

print (df.values) отображает значения таблицы.

df.value

1. Получение статистической сводки записей

Функция df.describe()

Функция df.describe() отображает статистическую сводку вместе с типом данных.

2. Сортировка записей

Сортировка записей

3. Нарезка записей

Нарезка записей

Slicemultiplecol

Slicerows

Интересной особенностью библиотеки Pandas является выбор данных на основе меток строк и столбцов с помощью функции iloc [0].

Часто для анализа может потребоваться всего несколько столбцов. Мы также можем выбрать по индексу, используя loc [‘index_one’]).

Например, чтобы выбрать вторую строку, мы можем использовать df.iloc [1 ,:].

Допустим, нам нужно выбрать второй элемент второго столбца. Это можно сделать с помощью функции df.iloc [1,1]. В этом примере функция df.iloc [1,1] отображает в качестве вывода «Мумбаи».

4. Фильтрация данных

Для фильтрации по условию можно использовать любой оператор сравнения.

Фильтрация данных

Filter

5. Переименование столбца

Аргумент inplace = True вносит изменения в DataFrame.

Переименование столбца

6. Сбор данных

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

Библиотека Pandas предоставляет полезные функции, такие как merge(), groupby() и concat() для поддержки задач Data Wrangling.

Сбор данных

Wrangling 2

а. merge()

Функция merge()

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

b. Группировка

Поле «Employee_name» со значением «Meera» сгруппировано по столбцу «Employee_name». Пример вывода приведен ниже:

Группировка

c. Конкатенация

Конкатенация

Создание DataFrame, переход Dict в Series

Пример создания серии

Мы создали серию. Вы можете видеть, что отображаются 2 столбца. Первый столбец содержит значения индекса, начиная с 0. Второй столбец содержит элементы, переданные как серии.

Можно создать DataFrame, передав словарь Series. Давайте создадим DataFrame, который формируется путем объединения и передачи индексов ряда.

Создание DataFrame

Для первой серии, поскольку мы не указали метку ‘d’, возвращается NaN.

Выбор столбца, добавление и удаление

Приведенный выше код печатает только столбец «Matches played» в DataFrame.

Выбор столбца

Добавление

Удаление

Заключение

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

Введение в библиотеку pandas: установка и первые шаги / pd 1

Библиотека pandas в Python — это идеальный инструмент для тех, кто занимается анализом данных, используя для этого язык программирования Python.

В этом материале речь сначала пойдет об основных аспектах библиотеки и о том, как установить ее в систему. Потом вы познакомитесь с двумя структурам данных: series и dataframes . Сможете поработать с базовым набором функций, предоставленных библиотекой pandas, для выполнения основных операций по обработке. Знакомство с ними — ключевой навык для специалиста в этой сфере. Поэтому так важно перечитать материал до тех, пока он не станет понятен на 100%.

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

Библиотека Python для анализа данных

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

Библиотека была спроектирована и разработана преимущественно Уэсом Маккини в 2008 году. В 2012 к нему присоединился коллега Чан Шэ. Вместе они создали одну из самых используемых библиотек в сообществе Python.

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

Этот пакет Python спроектирован на основе библиотеки NumPy. Такой выбор обуславливает успех и быстрое распространение pandas. Он также пользуется всеми преимуществами NumPy и делает pandas совместимой с большинством другим модулей.

Еще одно важное решение — разработка специальных структур для анализа данных. Вместо того, чтобы использовать встроенные в Python или предоставляемые другими библиотеками структуры, были разработаны две новых.

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

Дальше вы встретите примеры базовых операций для анализа данных, которые обычно используются на реляционных или таблицах Excel. Pandas предоставляет даже более расширенный набор функций и методов, позволяющих выполнять эти операции эффективнее.

Основная задача pandas — предоставить все строительные блоки для всех, кто погружается в мир анализа данных.

Установка pandas

Простейший способ установки библиотеки pandas — использование собранного решения, то есть установка через Anaconda или Enthought.

Установка в Anaconda

В Anaconda установка занимает пару минут. В первую очередь нужно проверить, не установлен ли уже pandas, и если да, то какая это версия. Для этого введите следующую команду в терминале:

Если модуль уже установлен (например в Windows), вы получите приблизительно следующий результат:

Если pandas не установлена, ее необходимо установить. Введите следующую команду:

Anaconda тут же проверит все зависимости и установит дополнительные модули.

Если требуется обновить пакет до более новой версии, используется эта интуитивная команда:

Система проверит версию pandas и версию всех модулей, а затем предложит соответствующие обновления. Затем предложит перейти к обновлению.

Установка из PyPI

Pandas можно установить и с помощью PyPI, используя эту команду:

Установка в Linux

Если вы работаете в дистрибутиве Linux и решили не использовать эти решения, то pandas можно установить как и любой другой пакет.

В Debian и Ubuntu используется команда:

А для OpenSuse и Fedora — эта:

Установка из источника

Если есть желание скомпилировать модуль pandas из исходного кода, тогда его можно найти на GitHub по ссылке https://github.com/pandas-dev/pandas:

Убедитесь, что Cython установлен. Больше об этом способе можно прочесть в документации: (http://pandas.pydata.org/pandas-docs/stable/install.html).

Репозиторий для Windows

Если вы работаете в Windows и предпочитаете управлять пакетами так, чтобы всегда была установлена последняя версия, то существует ресурс, где всегда можно загрузить модули для Windows: Christoph Gohlke’s Python Extension Packages for Windows (www.lfd.uci.edu/

gohlke/pythonlibs/). Каждый модуль поставляется в формате WHL для 32 и 64-битных систем. Для установки нужно использовать приложение pip:

Например, для установки pandas потребуется найти и загрузить следующий пакет:

При выборе модуля важно выбрать нужную версию Python и архитектуру. Более того, если для NumPy пакеты не требуются, то у pandas есть зависимости. Их также необходимо установить. Порядок установки не имеет значения.

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

Проверка установки pandas

Библиотека pandas может запустить проверку после установки для верификации управляющих элементов (документация утверждает, что тест покрывает 97% всего кода).

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

Оно займет несколько минут и в конце покажет список проблем.

Модуль Nose

Этот модуль спроектирован для проверки кода Python во время этапов разработки проекта или модуля Python. Он расширяет возможности модуль unittest . Nose используется для проверки кода и упрощает процесс.

Здесь о нем можно почитать подробнее: _http://pythontesting.net/framework/nose/nose-introduction/.

Первые шаги с pandas

Лучший способ начать знакомство с pandas — открыть консоль Python и вводить команды одна за одной. Таким образом вы познакомитесь со всеми функциями и структурами данных.

Более того, данные и функции, определенные здесь, будут работать и в примерах будущих материалов. Однако в конце каждого примера вы вольны экспериментировать с ними.

Для начала откройте терминал Python и импортируйте библиотеку pandas. Стандартная практика для импорта модуля pandas следующая:

Теперь, каждый раз встречая pd и np вы будете ссылаться на объект или метод, связанный с этими двумя библиотеками, хотя часто будет возникать желание импортировать модуль таким образом:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *