Как установить индекс pandas

Pandas DataFrame: легкое вступление

Дата публикации Sep 7, 2018

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

Мы посмотрим вПанды DataFrameв этом посте.

Общая тенденция в изучении панд (включая официальную документацию) заключается вПанды сериисначала следуетПанды DataFrame, Тем не менее, после значительного использования панд, я убежден, что мы должны начать сПанды DataFrame, Концепция и обоснованиеПанды сериистановится понятным и понятным, как только мы освоимсяПанды DataFrame.

Что такое датафрейм?

Вот какТехническое определениевыглядит как

Панды DataFrameявляется двумерной помеченной структурой данных со столбцами потенциально другого типа.

И вот как вы должны это понимать

Панды DataFrameне что иное, как представление в памяти листа Excel с помощью языка программирования Python

Так,Панды DataFrameпохож на лист Excel и выглядит так

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

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

Как создать Pandas DataFrame?

В реальном миреPanda DataFrameбудет создан путем загрузки наборов данных из постоянного хранилища, включая, помимо прочего, базы данных excel, csv и MySQL.

Однако, чтобы помочь вам лучше понять это, я буду использовать Python Data Structures (словарь и список) здесь.

Как показано на листе Excel выше, если мы рассматриваем имена столбцов как«Ключи»и список предметов под этим столбцом как«Значения»мы можем легко использовать словарь Python для представления так же, как

Мы можем создатьПанды DataFrameиз этого словаря как

Результирующий DataFrame должен выглядеть аналогично тому, что мы видели на листе Excel выше, как

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

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

Индекс строки →

С тех пор мы не предоставили значения индекса строкиDataFrame, он автоматически генерирует последовательность (0… 6) в качестве индекса строки.

Чтобы предоставить собственный индекс строки, нам нужно передать index параметр в DataFrame(. ) функционировать как

Индекс не обязательно должен быть числовым все время, мы также можем передавать строки как индекс. Например

Как вы уже догадались, индексгомогенныйв природе, что означает, что мы также можем использоватьNumPy массивыв качестве индекса.

Столбцы панд DataFrame

В отличие от списков Python или словарей и так же, какNumPyКолоннаDataFrameвсегда будет одного типа.

Если мы хотим проверить типы данных всех столбцов внутриDataFrame,мы будем использовать dtypes функцияDataFrameкак

Тип всех столбцов будет отображаться как

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Просмотр данных фрейма данных

В любой момент времениПанды DataFrameбудет содержать сотни (если не тысячи) строк данных. Мы можем только просматривать их выборочно в любой момент времени.

Для выборочного просмотра строк мы можем использоватьголова (…) и хвост (…)функции, которые по умолчанию дают первые или последние пять строк (если ввод не предоставлен), в противном случае показывает определенное количество строк сверху или снизу

Источник

Индексация и выбор данных с помощью панд

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор нескольких строк и нескольких столбцов

Давайте возьмем DataFrame с некоторыми поддельными данными, теперь мы выполняем индексацию для этого DataFrame. В этом мы выбираем несколько строк и несколько столбцов из DataFrame. Фрейм данных с набором данных.

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Наш последний DataFrame будет выглядеть так:

Выбор нескольких строк и всех столбцов

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Наш последний DataFrame будет выглядеть так:

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор некоторых столбцов и всех строк

Допустим, мы хотим выбрать столбцы Age, Height и Salary со всеми строками в кадре данных.

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Наш последний DataFrame будет выглядеть так:

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Есть много способов извлечь элементы, строки и столбцы из DataFrame. В Pandas есть несколько методов индексации, которые помогают получить элемент из DataFrame. Эти методы индексации выглядят очень похоже, но ведут себя совсем по-другому. Панды поддерживают четыре типа многоосевой индексации:

Выбор одного столбца

Чтобы выбрать один столбец, мы просто помещаем имя столбца между скобками

# импорт пакета панд

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение столбцов с помощью оператора индексации

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор нескольких столбцов

Чтобы выбрать несколько столбцов, мы должны передать список столбцов в операторе индексирования.

# импорт пакета панд

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение нескольких столбцов с помощью оператора индексации

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор одной строки

# импорт пакета панд

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение строки методом loc

first = data.loc[ «Avery Bradley» ]

second = data.loc[ «R.J. Hunter» ]

Выход:
Как показано на выходном изображении, были возвращены две серии, так как оба раза был только один параметр.

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор нескольких строк

import pandas as pd

# создание фрейма данных из CSV-файла

# получение нескольких строк методом loc

Выход:
Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор двух строк и трех столбцов

Чтобы выбрать две строки и три столбца, мы выбираем две строки, которые мы хотим выбрать, и три столбца и помещаем его в отдельный список следующим образом:

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение двух строк и трех столбцов методом loc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор всех строк и некоторых столбцов

Чтобы выбрать все строки и некоторые столбцы, мы используем одиночное двоеточие [:], чтобы выбрать все строки и список некоторых столбцов, которые мы хотим выбрать следующим образом:

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение всех строк и некоторых столбцов методом loc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор одной строки

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение строк методом iloc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор нескольких строк

import pandas as pd

# создание фрейма данных из CSV-файла

# получение нескольких строк методом iloc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выбор двух строк и двух столбцов

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение двух строк и двух столбцов методом iloc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Выделение всех строк и некоторых столбцов

import pandas as pd

# создание фрейма данных из CSV-файла

# извлечение всех строк и некоторых столбцов методом iloc

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

# импорт пакета панд

import pandas as pd

# создание фрейма данных из CSV-файла

# получение строки методом ix

first = data.ix[ «Avery Bradley» ]

Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

# импорт пакета панд

import pandas as pd

# создание фрейма данных из CSV-файла

Источник

Пандас переименовать столбец и индекс

Pandas переименовывает столбец и индекс с использованием функции Rename (). Мы можем переименовать одноместные и несколько столбцов, Inflace переименовать, переименовать, используя функцию Dict или Mapper.

Иногда мы хотим переименовать столбцы и индексы в объекте PandaFrame PandaS. Мы можем использовать функцию Pandas DataFrame Rename () для переименования столбцов и индексов. Он поддерживает следующие параметры.

Некоторые важные моменты о функции Rename ().

Давайте посмотрим на некоторые примеры использования функции Pandas Rename ().

1. Пандас переименовывает столбцы

Вышеупомянутый Rename () вызов функции также может быть написан следующим образом.

Ясно, что использование аргументов ключевых слов яснее, чем использование аргументов Mapper и Axis.

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

Если вы хотите переименовать один столбец, просто пройдите пару одной пары ключа в параметре Dict Columns.

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

3. Пандас переименовывает индексы

Если вы хотите переименовать индексы, пройдите Dict для параметра «Индекс».

Мы также можем переименовать индексы, используя аргументы Mapper и Axis.

4. Пандас переименовать один индекс

5. Изменение DataFrame Inplace

Если вы хотите изменить само по себе исходный файл DataFrame, пройдите аргумент Inflace как True.

Источник

Преобразовать столбец в имя / индекс строки в Pandas

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

Сначала создайте фрейм данных с указанием списков.

# импорт панд как pd

import pandas as pd

# Создание диктата списков

# создание фрейма данных

Выход:
Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

# импорт панд как pd

import pandas as pd

# Создание диктата списков

# Создание фрейма данных

# Использование метода set_index () в столбце «Имя»

df = df.set_index( ‘Name’ )

Выход:
Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Теперь установите имя индекса как None.

# установить индекс в ‘None’ через его свойство name

Выход:
Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Теперь, скажем, мы хотим, чтобы Result был строками / индексом, а столбцы name в нашем фрейме данных, чтобы достичь этой панды, предоставил метод под названием Pivot. Давайте посмотрим, как это работает,

# импорт панд как pd

import pandas as pd

# Создание диктата списков

# поворот кадра данных

Выход:
Как установить индекс pandas. Смотреть фото Как установить индекс pandas. Смотреть картинку Как установить индекс pandas. Картинка про Как установить индекс pandas. Фото Как установить индекс pandas

Источник

Использование пакета 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() предоставит следующую информацию для числовых типов данных:

Вывод

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

countПодсчёт частоты того или иного события (сколько раз произошло событие?).meanСреднее значение.stdСтандартное отклонение (числовое значение, которое отображает изменение пределов данных).minНаименьшее число в наборе данных.25%25-й процентиль.50%50-й процентиль.75%75-й процентиль.maxМаксимальное число в наборе данных.

Запросите статистику структуры 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, сортировать и анализировать данные.

Источник

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

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