Поиск по сайту:

Учебник по модулю Python Pandas


Модуль Python Панды

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

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

Вам нужно иметь Python 2.7 и выше, чтобы установить модуль Pandas. Если вы используете conda, вы можете установить его с помощью команды ниже.

conda install pandas

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

pip3.7 install pandas

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

import pandas as pd
import numpy as np

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

Структуры данных в модуле Pandas

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

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

Панды DataFrame

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

pandas.DataFrame(data, index, columns, dtype, copy)

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

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

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

import pandas as pd
import numpy as np
df = pd.DataFrame({
    "State": ['Andhra Pradesh', 'Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'],
    "Capital": ['Hyderabad', 'Mumbai', 'Bengaluru', 'Trivandrum', 'Chennai'],
    "Literacy %": [89, 77, 82, 97,85],
    "Avg High Temp(c)": [33, 30, 29, 31, 32 ]
})
print(df)

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

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

import pandas as pd
data =  pd.read_csv('cities.csv')
print(data)

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

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

Запуск DataFrame с использованием его имени отображает всю таблицу. В режиме реального времени наборы данных для анализа будут содержать тысячи строк. Для анализа данных нам необходимо проверять данные из огромных объемов наборов данных. Панды предоставляют множество полезных функций для проверки только тех данных, которые нам нужны. Мы можем использовать df.head(n) для получения первых n строк или df.tail(n) для вывода последних n строк. Например, приведенный ниже код печатает первые 2 строки и последнюю 1 строку из DataFrame.

print(df.head(2))
print(df.tail(1))

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

Мы можем получить статистическую сводку (количество, среднее значение, стандартное отклонение, минимум, максимум и т. д.) данных, используя функцию df.describe(). Теперь давайте воспользуемся этой функцией, чтобы отобразить статистическую сводку столбца «Грамотность%». Для этого мы можем добавить следующий фрагмент кода:

print(df['Literacy %'].describe())

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

Мы можем сортировать записи по любому столбцу, используя функцию df.sort_values(). Например, давайте отсортируем столбец «Грамотность %» в порядке убывания.

print(df.sort_values('Literacy %', ascending=False))

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

Можно извлечь данные определенного столбца, используя имя столбца. Например, чтобы извлечь столбец «Капитал», мы используем:

df['Capital']

или

(df.Capital)
print(df[['State', 'Capital']])
df[0:3]

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

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

print(df[df['Literacy %']>90])
print(df[df['State'].isin(['Karnataka', 'Tamil Nadu'])])

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

Можно использовать функцию df.rename() для переименования столбца. Функция принимает имя старого столбца и имя нового столбца в качестве аргументов. Например, давайте переименуем столбец «Грамотность%» в «Процент грамотности».

df.rename(columns = {'Literacy %':'Literacy percentage'}, inplace=True)
print(df.head())

6. Обработка данных

Наука о данных включает в себя обработку данных, чтобы данные могли хорошо работать с алгоритмами данных. Обработка данных — это процесс обработки данных, такой как слияние, группировка и объединение. Библиотека Pandas предоставляет полезные функции, такие как merge(), groupby() и concat(), для поддержки задач обработки данных. Давайте создадим 2 кадра данных и покажем функции обработки данных, чтобы лучше понять их.

import pandas as pd

d = {  
    'Employee_id': ['1', '2', '3', '4', '5'],
    'Employee_name': ['Akshar', 'Jones', 'Kate', 'Mike', 'Tina']
}
df1 = pd.DataFrame(d, columns=['Employee_id', 'Employee_name'])  
print(df1)
import pandas as pd

data = {  
    'Employee_id': ['4', '5', '6', '7', '8'],
    'Employee_name': ['Meera', 'Tia', 'Varsha', 'Williams', 'Ziva']
}
df2 = pd.DataFrame(data, columns=['Employee_id', 'Employee_name'])  
print(df2)

а. Объединение

Теперь давайте объединим два созданных нами кадра данных со значениями «Employee_id» с помощью функции merge():

print(pd.merge(df1, df2, on='Employee_id'))

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

Группировка — это процесс сбора данных по разным категориям. Например, в приведенном ниже примере поле \Employee_Name дважды содержит имя \Мира. Итак, давайте сгруппируем его по столбцу \Employee_name.

import pandas as pd
import numpy as np

data = {
    'Employee_id': ['4', '5', '6', '7', '8'],
    'Employee_name': ['Meera', 'Meera', 'Varsha', 'Williams', 'Ziva']
}
df2 = pd.DataFrame(data)

group = df2.groupby('Employee_name')
print(group.get_group('Meera'))

в. Объединение

Объединение данных предполагает добавление одного набора данных к другому. Pandas предоставляет функцию с именем concat() для объединения фреймов данных. Например, давайте объединим кадры данных df1 и df2, используя:

print(pd.concat([df1, df2]))

Создайте DataFrame, передав Dict of Series

Чтобы создать серию, мы можем использовать метод pd.Series() и передать ему массив. Давайте создадим простую серию следующим образом:

series_sample = pd.Series([100, 200, 300, 400])
print(series_sample)
d = {'Matches played' : pd.Series([400, 300, 200], index=['Sachin', 'Kohli', 'Raina']),
'Position' : pd.Series([1, 2, 3, 4], index=['Sachin', 'Kohli', 'Raina', 'Dravid'])}
df = pd.DataFrame(d)
print(df)

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

Можно выбрать конкретный столбец из DataFrame. Например, чтобы отобразить только первый столбец, мы можем переписать приведенный выше код следующим образом:

d = {'Matches played' : pd.Series([400, 300, 200], index=['Sachin', 'Kohli', 'Raina']),
 'Position' : pd.Series([1, 2, 3, 4], index=['Sachin', 'Kohli', 'Raina', 'Dravid'])}
df = pd.DataFrame(d)
print(df['Matches played'])
d = {'Matches played' : pd.Series([400, 300, 200], index=['Sachin', 'Kohli', 'Raina']),
 'Position' : pd.Series([1, 2, 3, 4], index=['Sachin', 'Kohli', 'Raina', 'Dravid'])}
df = pd.DataFrame(d)
df['Runrate']=pd.Series([80, 70, 60, 50], index=['Sachin', 'Kohli', 'Raina', 'Dravid'])
print(df)
del df['Matches played']

или

df.pop('Matches played')

Заключение

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