Рубрики
Без рубрики

Учебники Pandas – Python для науки о данных

Таблица контента: В этом уроке Pandas мы будем учиться ниже концепций …. Помечено Python, науки о данных, пандах, машинном обучении.

Таблица контента:

В этом уроке Pandas мы будем учиться ниже концепций.

  • Предпосылки, введение
  • A). Импорт требуемых пакетов:
  • B). Серия в Пандас:
  • C). Dataframe в пандах:
  • D). DataFrame – Общие функции:
  • E). DataFrame Columns Manipulation – выберите, создайте, переименовать, падение:
  • F). DataFrame Rows Manipulation – выберите, создавать, переименовать, падение:
  • G). Отсутствующие манипуляции с данными:
  • H). Группа в DataFrames:
  • I). Объедините несколько данных DataFrames – объединение, присоединиться, комбайн:
  • Заключение

Предпосылки:

Концепции Panda очень легко учиться и применяются в приложениях реального мира. Ex: Если мы понимаем нашу карту знаков средней школы (класс) с предметами вместе с отметками в каждом предмете Этот пример более чем достаточно, чтобы переварить все концепции Panda.

Вступление:

  • Pandas используется для обработки (нагрузки, манипулирования, готовностью, моделью и анализами) Данные данные. Pandas построен на вершине Numpy Package, поэтому Numpy требуется для работы с пандами.
  • Pandas имеет 2 структуры данных для обработки данных.
    1. Серии : это одномерный массив, который способен хранить различные типы данных.
    2. Dataframe : это двумерный массив с мечеными осями (рядами и колоннами).

A). Импорт требуемых пакетов:

import numpy as np
import pandas as pd

Объяснение: Импорт Ключевое слово используется для импорта необходимого пакета в наш код. как Ключевое слово используется для данного имени псевдонима для данного пакета. numpy Является ли численный пакет Python, используемый для создания численных массивов в этом руководстве. Пример: Пандас это пакет и портить Имя псевдонима или короткое имя для Пандас Отказ

B). Серия в Пандас:

  • Серия – это 1-мерный массив, который способен хранить различные типы данных (целые числа, строки, номера плавающих точек, объекты Python).
  • Метки строки серии называются индексом.
  • Серия не может содержать несколько столбцов. У него будет только один столбец.
  • Давайте рассмотрим некоторые из примеров серии в пандах.

B1). Создать серию из словаря Python

dict1 = {'p':111, 'q':222, 'r':333, 's':np.NaN, 't':555}
s = pd.Series(dict1)
print(s)

Объяснение: Здесь P, Q, R, S, T называются индексами. портить Серия () используется для создания серии Panda. Примечание: S в Серия () является столицей. Выход:

БИ 2). Серия из скалярной стоимости

s = pd.Series(125, index=['i','j','k','l'])
print(s)

Объяснение: Вот все индексы «Я», «J», «K», «L» будет иметь то же значение 125 Отказ Выход:

B3). Серия из Numpy Array

s = pd.Series(np.random.randn(5), index=['a','b','c','d','e'])
print(s)

Объяснение: NP.RANDOM.RANDN (5. ) будет создавать 5 случайных чисел. Выход:

B4). Функциональности серии

dict1 = {'p':111, 'q':222, 'r':333, 's':np.NaN, 't':555}
s = pd.Series(dict1)
print("Slice:\n s[1]:",s[1])
print("s['r']:",s['r'])

print("\n##############################")
print("Filters:s[s > 200]:\n", s[s > 200])

print("\n##############################")
print("Select Multiple indexes:s[0,2,4]:\n", s[[0,2,4]])

print("\n##############################")
print("Check DType:", s.dtype)

Объяснение: Мы можем применить ломтик, фильтры, выбор определенных индексов, проверьте тип данных серии. S [1] Для печати значения на индекс 1 тогда как индекс начинается в 0. . S [S> 200] используется для фильтрации данных, которые являются GRATERTHAN 200. S [[0,2,4]] С этим мы можем выбрать несколько индексированных значений на одном шаге. S.dtype предназначен для проверки типа данных серии. Выход:

C). Dataframe в пандах:

  • DataFrame – это двумерный массив с мечеными осями (строки и колонны).
  • DataFrame – это как структурированная таблица или файл Excel.
  • Давайте рассмотрим некоторые из примеров DataFrame в пандах.

C1). Dataframe из словаря Python

dict1 = {"ID":[101,102,103,104,105], "Name":['AAA','BBB','CCC','DDD','EEE']}
df = pd.DataFrame(dict1)
df

Объяснение: Здесь ID, имя Столбцы и индекс будут автоматически генерироваться слева. Выход:

C2). DataFrame из Numpy N-D Array:

a = np.array(np.random.rand(10,5))
df = pd.DataFrame(a, index = [np.arange(2000,2010)], columns = ['India', 'USA', 'China', 'Japan', 'Italy'])
df

Объяснение: А для табличных данных, NP.Arge () используется для индекса, Колонны используется для колонн заголовок. Выход:

C3). DataFrame из списка:

l1 = [2,3,4,5,6,7]
df = pd.DataFrame(l1, index = ['a','b','c','d','e','f'], columns = ['ID_NUM'])
df

Объяснение: L1 для данных. «А», «B», «C», «D», «E», «F» являются значения индекса и Id_num это заголовок столбца. Выход:

C4). DataFrame из файла CSV:

df = pd.read_csv("Pandas_Blog.csv")
df

Объяснение: read_csv Функция, используемая для чтения файлов CSV с локальной машины. Все данные в файле CSV будут доступны из PandaS DataFrame дф. . Вы можете скачать этот образец файла CSV из здесь. Выход:

D). DataFrame – Общие функции:

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

D1). Пример данных DataFrame для отдыха учебников.

a = np.array(np.random.rand(10,5))
df = pd.DataFrame(a, index = [np.arange(2000,2010)], columns = ['India', 'USA', 'China', 'Japan', 'Italy'])
df

Объяснение: Этот пример мы уже видели в наших примерах. Следуйте отметить, что вы можете получить разные значения в таблице, так как мы используем случайную функцию здесь. Благодаря этому мы можем получить разные значения, чем эти значения, она получит систему изменения в систему. Выход:

D2). Информация () Функция:

df.info()

Объяснение: Информация () Функция будет использоваться для предоставления общей информации о том, как Количество столбцов, количество строк (записей), имен столбцов и их типов данных, каждый столбец содержит нулевые значения или ненулевые значения Отказ С Информация () Функция мы можем получить все высокое понимание на DataFrame. Выход:

D3). Опишите () Функция:

df.describe()

Объяснение: Опишите () Функция, используемая для проверки статистической информации обо всех данных численных столбцов. Это покажет нам Мин, Макс, среднее, 25%, 50%, 75% численных колонн. Выход:

D4). Count () Функция:

df.count()

Объяснение: count () Функция покажет нам в каждом столбце Сколько ненульных записей (не пропущенных или правильных значений) существует. Здесь в каждом столбце мы имеем 10 записей без пропущенных данных. Выход:

D5). Атрибут столбцов:

df.columns

Объяснение: Колонны Будет печатать список столбцов в DataFrame. Примечание: мы не должны использовать () с этим атрибутом. Выход:

D6). Атрибут индекса:

df.index

Объяснение: Индекс Атрибут будет распечатать индексы, доступные для DataFrame. На выходе Уровни Пользовательский индекс и этикетки Существующий индекс по умолчанию для DataFrame. Выход:

D7). атрибут формы:

df.shape

Объяснение: Форма Напечатает количество строк, количество столбцов в DataFrame. Это как размеры для матрицы. Ex: (ряды, столбцы) = (10,5) Выход:

D8). атрибут dtypes:

df.dtypes

Объяснение: dtypes. Будет распечатать каждую колонку и соответствующий тип данных столбца рядом. Выход:

D9). Функция головы ():

df.head(3)

Объяснение: Глава () Функция будет распечатать первый или верхний n Записи в dataframe. Здесь n = 3 Отказ Первые 3 строки со всеми столбцами будут показаны. Выход:

D10). Функция хвоста ():

df.tail(3) 

Объяснение: хвост () Функция будет распечатать последнюю или снизу n Записи в dataframe. Здесь n = 3 Отказ Последние 3 строки со всеми столбцами будут показаны. Выход:

D11). Образец () Функция:

df.sample(3) 

Объяснение: Образец () будет печатать n Случайные строки из датафарама. Выход:

E). DataFrame Columns Manipulation – выберите, создайте, переименовать, падение:

В пандах DataFrame у нас в основном есть строки и столбцы. В этом разделе мы начинаем с Колонны Манупоты, такие как как ( Выбрать, создавать, переименовать, падение ) определенные столбцы в DataFrame. В целом, работая с ROWS и столбцами DataFrame, нам нужно указать Ось Значение для 1 или 0 Отказ ось для рядов , Ось для колонн в DataFrame.

E1). Образец DataFrame для этого раздела манипулирования этого столбцов:

a = np.array(np.random.rand(10,5))
df = pd.DataFrame(a, index = [np.arange(2000,2010)], columns = ['India', 'USA', 'China', 'Japan', 'Italy'])
df

Объяснение: Этот пример мы уже видели в наших примерах. Следуйте отметить, что вы можете получить разные значения в таблице, так как мы используем случайную функцию здесь. Благодаря этому мы можем получить разные значения, чем эти значения, она получит систему изменения в систему. Выход:

E2). Выбор одного столбца из DataFrame:

df['India']

Объяснение: От DataFrame дф. Мы выбираем один единственный столбец Индия Отказ Мы можем пересекать этот вывод с помощью нашего основного DataFrame в разделе E1. Выход:

E3). Проверьте тип данных определенного столбца:

type(df['India'])

Объяснение: DF [«Индия»] код выберет Индия столбец. Тип () Функция предоставит тип DataType Индия столбец. Выход:

E4). Выбор нескольких столбцов из DataFrame:

df[['India', 'USA']]

Объяснение: От DataFrame дф. Мы выбираем несколько столбцов Индия, США Отказ Здесь мы должны пройти необходимые несколько столбцов в виде Список Как [«Индия», «США»] Отказ Мы можем пересекать этот вывод с помощью нашего основного DataFrame в разделе E1. Выход:

E5). Создайте новый столбец к DataFrame:

df['IND_USA'] = df['India'] + df['USA']
df

Объяснение: Здесь мы создаем новую колонку под названием Ind_usa и в R.h. Мы должны назначить значение. Здесь мы добавляем значения каждой строки из Индия, США и присвоение Ind_usa столбец. Ex: Для 2000 Год, Индия. 688980. и USA.296874. . Сейчас Ind_usa.985854. . Выход:

E6). Переименуйте столбец DataFrame:

df = df.rename(columns={'IND_USA':'IND_puls_USA'})
df

Объяснение: Переименовать () Функция поможет нам переименовать данный столбец. Внутри этой функции мы должны пройти Колонны ключевое слово с Ключевое значение сопряженный. Здесь имя столбца, предлагаемое имя столбца. Бывший Вот Ind_usa Существующее имя столбца и Ind_puls_usa это имя нового столбца. Выход:

Е7). Снижение существующей колонны:

df = df.drop('IND_puls_USA', axis=1)
df

Объяснение: падение Функция поможет нам удалить или удалить существующий столбец. Внутри функции мы передаем имя столбца Ind_puls_usa Отказ С Ось = 1. Мы информируем компилятора, чтобы удалить колонку, но не строку. Примечание: Если мы пропустим ось = 1 Синтаксис, если какой-либо индекс строки имеет имя как Ind_puls_usa. Тогда эта строка будет удалена. Пропустить это удаление строки, мы даем ось = 1 Чтобы удалить столбец, которое называется Ind_puls_usa Отказ После удаления мы не получим данные обратно, поэтому должны быть осторожны при использовании падение () функция. После удаления Ind_puls_usa Столбец, наше dataframe выглядит как ниже. Выход:

F). DataFrame Rows Manipulation – выберите, создавать, переименовать, падение:

В этом разделе мы узнаем о Ряды Мануперации, такие как как ( Выбрать, создавать, переименовать, падение ) определенные строки в DataFrame. В целом, работая с ROWS и столбцами DataFrame, нам нужно указать Ось Значение для 1 или 0 Отказ ось для рядов , Ось для колонн в DataFrame. Доступ к строкам из DataFrame можно сделать в этих 2 способах, используя loc () и ILOC () Функции.

Ось Для подбора строк, Ось Для подбора столбцов. В выборе строки снова у нас есть 2 параметра, как показано ниже:

  • loc () – Используется, когда мы знаем имя индекса для определенного ряда.
  • ILOC () – используется, когда мы не знаем имя индекса, но мы знаем значение порядка индекса

F1). Пример dataframe для справки в этом разделе:

a = np.array(np.random.rand(10,5))
df = pd.DataFrame(a, index = np.arange(2000,2010), columns = ['India', 'USA', 'China', 'Japan', 'Italy'])
df

Выход:

df.index

Объяснение: Здесь, если мы наблюдаем loc () Может применяться на имя индекса строки или уровни, такие как 2000, 2001, ..., 2009 и ILOC () Можно применять на номерах индекса строки или на этикетках, таких как 0, 1, ..., 9 Отказ Выход:

F2). Выберите одну строку, используя LOC []:

df.loc[2005]

or 

df.iloc[5]

Объяснение: Из DataFrame мы выбираем строку, которая имеет имя индекса, как 2005 Отказ Это похоже на выбор 5 Индекс номер с использованием ILOC [5] Отказ Потому что мы знаем, что есть 2005 Имя индекса, чтобы мы могли напрямую использовать loc [2005] . Если мы не уверены в имени индекса, мы можем использовать номер индекса, используя ILOC [5] Отказ Выход:

F3). Выбор нескольких строк, используя LOC []:

df.loc[[2005, 2007]]

Объяснение: Для нескольких выбора ряда мы должны дать список необходимых имени индекса в loc [] Отказ По умолчанию мы получим все столбцы в данной строке. Выход:

F4). Выбор нескольких строк с несколькими столбцами, используя LOC []:

df.loc[[2005, 2007], ['India', 'USA']]

Объяснение: Здесь мы предоставляем 2 списка к loc [] Отказ Первый – это список имен индексов, которые нам требуются, и вторым списком имена столбцов, которые нам необходимо распечатать. Эти 2 списка могут быть разделены , Отказ Выход:

F5). Выберите одну строку с помощью ILOC []:

df.iloc[0]

Объяснение: Здесь мы выбираем 0 индексированная строка или 2000 Имя индекса ряд со всеми колоннами. Выход:

F6). Выбор нескольких строк с использованием ILOC []:

df.iloc[[0,2]]

Объяснение: Здесь мы даем список номеров индекса, которые мы хотим отображать. Это будет печатать индекс 0,2 строки со всеми колоннами. Выход:

F7). Выбор нескольких рядов и нескольких столбцов с использованием ILOC []:

df.iloc[[0, 2], [0,1]]

Объяснение: Здесь, используя ILOC [] Мы полиграфические 0,2 ряды и 0,1 Столбцы из DataFrame дф. . Выход:

F8). Создайте новую строку, используя LOC []:

df.loc[2010] = np.random.rand(5)
df

Объяснение: Здесь у нас нет индекса по имени 2010 до сих пор и создание 2010 Имя индекса с 5 случайные числа. Выход:

F9). Создайте новую строку с помощью ILOC []:

df.iloc[10] = np.random.rand(5)
df

Объяснение: Здесь мы воссоздаем 2010 ряд, используя 5 Случайные числа, используя номер индекса 10 С помощью ILOC [] Отказ Значения в 10 Номер индекса будет изменен на предыдущий пример. Выход:

F10). Снимите ряд в dataframe:

df = df.drop(2010)
df

Объяснение: Здесь мы не указали Ось = 0 Отказ По умолчанию строки будут сброшены с помощью падение () функция. Мы не сможем увидеть 2010 записывать. Выход:

F11). Переименовать имя индекса строки в DataFrame:

df = df.rename(index={2009:20009})
df

#renamed back to normal with below commented lines.
#df = df.rename(index={20009:2009})

Объяснение: Здесь мы переименовываем 2009 Имя индекса к 20009 с Переименовать () функция. Для простотой цели я вернул изменения для предстоящих разделов. Выход:

F12). Условный выбор DataFrame:

df>0.3

Объяснение: Условный выбор распечатает нас логической матрицей данных DataFrame с заданным условием. Здесь DF> 0.3 Говорит, что все значения соответствуют этому условию, станет правда и оставшиеся все клетки становятся Ложь Отказ Эта матрица может быть использована во многих местах для отфильтровывания данных с использованием условий. Выход:

F13). Условный выбор-2 данных DataFrame:

df[df>0.3]

Объяснение: Здесь мы проходим условный выбор к уровню DataFrame, чтобы все правда Значения будут показаны только, и оставшиеся значения будут напечатаны как Нан I.E. Не число Отказ Первый DF> 0.3 Будет рассчитана и булевая матрица будет применяться к DataFrame DF Отказ Выход:

F14). Условный выбор-3 данных DataFrame:

df[df['India']>0.3]

Объяснение: Здесь мы говорим, если Индия колонна имеет больше 0,3 Точка тогда распечатайте все эти строки, все столбцы сочетаются. Ex: Здесь 2006 Имя индекса в Индия колонна имеет 0,027133 И это не правда Так что это 2006 ряд не будет напечатан на выходе. Выход:

F15). Условный выбор-4 данных DataFrame:

df[df['India']>0.3][['India', 'USA']]

Объяснение: На верхней части приведенного выше примера мы выбираем несколько столбцов только путем доказательства списка столбцов, которые мы требуем в конце, как [[«Индия», «США»]] Отказ Выход:

G). Отсутствующие манипуляции с данными:

В некоторых случаях данные, которые мы имеем дело, могут иметь недостающие значения. Эти недостающие данные могут быть представлены в Pands AS Нан I.E. Не число Отказ Ex: Позвольте сказать, что мы собираем информацию о пользователе для некоторых социальных сетей платформы. Некоторые пользователи не будут предоставлять адрес или личную информацию, которую мы рассматриваем как дополнительные поля. Эти недостающие поля можно рассматривать как Недостающие данные . NAN - это замечательный объект и Нет это Нет объекта типа. Объедините объекты лучше, чем любой другой тип. Так что панды в основном используют Нан над Нет повысить производительность. Это из Numpy Package (NP.NAN), широко используется в Numpy массивов, серии Panda и DataFrames.

  • isnull () : Создайте логическую маску, указывающую недостающие значения.
  • Notnull () : Создайте логическую маску, указывающую правильные значения.
  • Fillna () : Мы можем заменить Нан со скалярным значением или текстом.
  • Dropna () : Используется для удаления строки или столбца, если она пропустила данные.

G1). Пример dataframe с отсутствующими данными:

df = pd.DataFrame(np.random.rand(5,4), index =[2010, 2013, 2015, 2016, 2020], columns = 'A B C D'.split())
df = df.reindex(np.arange(2010,2021))
df['C'] = np.random.rand(11)
df.loc[2014] = np.nan
df.loc[2019] = np.nan
df['E'] = np.random.rand(11)
df['F'] = np.nan
df

Объяснение: Это образец DataFrame для этого раздела. Шаг 1 : Создать dataframe с 5 строками ( 2010, 2013, 2015, 2016, 2020 ) и 4 столбцами ( a, b, c, d ) со случайными числами. Шаг 2 : Создание строк с именами индекса из 2010 к 2021 И новые строки могут иметь недостающие данные по умолчанию. Шаг3 : Создание нового столбца C и заполнение случайными числами. Шаг4, 5 : Замена 2014 и 2019 Ряды в Нан ценности. Шаг6,7 : Создание новых столбцов Е, е и присвоение ценностей. Выход:

G2). Функция isnull (), чтобы получить булевую матрицу:

df.isnull()

Объяснение: isnull () Функция обеспечит логическое матрицу данного DataFrame. Он проверит данные в каждой ячейке, и если она найдет Нан Тогда это будет печатать Правда еще он будет печатать Ложь Отказ Ex: Весь F колонна имеет Нан Отказ Так что в булевом матрице F колонна будет содержать только Правда ценности. Выход:

G3). Функция Notnull () для получения булевой матрицы:

df.notnull()

Объяснение: Notnull () Функция обрабатывается isnull () функция И это обеспечит логическое матрицу данного DataFrame. Он проверит данные в каждой ячейке, и если она найдет Нан Тогда это будет печатать Ложь еще он будет печатать Правда Отказ Ex: Весь F колонна имеет Нан Отказ Так что в булевом матрице F колонна будет содержать только Ложь ценности. Выход:

G4). Fillna (значение, метод = [FFILL, BFILL], AXIS = [0,1]) Функция-1:

df.fillna(0)

Объяснение: Fillna () Функция для замены отсутствующих данных с заданным значением. У нас много контроля над тем, как заполнить недостающие данные с помощью Способ = [Ffill, Bfill] Отказ Здесь Ffill Средства вперед заполнения, Bfill означает обратный заполнить с заданным значением. ось = [0,1] будет представлять горизонтальные ( ось = 1 ) или вертикальный ( Axis = 0 ) оси для применения ffill или bfill. Параметры с заданным значением. В этом примере мы просто назначаем 0 до пропущенных данных. Выход:

G5). Fillna (значение, метод = [FFILL, BFILL], AXIS = [0,1]) Функция-2:

df.fillna("Missing")

Объяснение: С Fillna () Функция, которую мы заполняем все недостающие значения с помощью текста под названием Отсутствует . Выход:

G6). Fillna (значение, метод = [ffill, bfill], axis = [0,1]) Функция-3: (вперед наполнение вертикально):

df.fillna(method = 'ffill')

#forward filling vertically

Объяснение: Здесь мы не предоставили стоимость и Ось Параметры. По умолчанию Ось = 0 что означает вертикально и Ffill означает, что Forward Filling будет применимо. Бывший: В колонне А Индекс 2011, 2012 отсутствуют так 2010 Данные будут скопированы вперед заполнением вертикальной (все строки) способом. Точно так же 2013 Данные будут скопированы на 2014 Отказ Тот же путь 2016 Данные будут скопированы на 2017, 2018, 2019 Индексы во всех столбцах. В колонне F Все строки отсутствуют, поэтому данные не были продвинены в вертикальном положении, чтобы изменить недостающие данные, потому что первый ряд ( 2010 ) в F столбец также отсутствует. Выход:

G7). Fillna (значение, метод = [FFILL, BFILL], AXIS = [0,1]) Функция-4: (вперед наполнение горизонтально):

df.fillna(method = 'ffill', axis=1)

# forward filling horizontally

Объяснение: ось = 1 означает горизонтально передовую заполнение будет проходить. Ex: В 2011 ряд D колонна будет заменена на C данные столбца. Точно так же F колонна будет заменена на Е данные столбца. А, б Колонны в 2011 ROW останется такими же, как отсутствует, потому что никаких предшествующих колонн там не будет продвигаться вперед горизонтальным способом. Если мы наблюдаем столбцы Е, е имеют такие же данные, потому что все строки из колонны Е скопирован в столбец F . Выход:

G8). Fillna (значение, метод = [FFILL, BFILL], AXIS = [0,1]) Функция-5: (обратная наполнение вертикально):

df.fillna(method = 'bfill')

# backward filling vertically

Объяснение: Здесь мы не предоставили стоимость и Ось Параметры. По умолчанию Ось = 0 что означает вертикально и Bfill означает, что обратное заполнение будет применимо. Бывший: В колонне А Индекс 2011, 2012 отсутствуют так 2013 Данные будут скопированы назад наполнением вертикальной (все строки). Точно так же 2015 Данные будут скопированы на 2014 Отказ Тот же путь 2020 Данные будут скопированы на 2017, 2018, 2019 Индексы во всех столбцах. В колонне F Все строки отсутствуют, поэтому никакие данные не были доставлены в вертикали, чтобы изменить отсутствующие данные, потому что последняя строка ( 2020 ) в F столбец также отсутствует. Выход:

G9). Fillna (значение, метод = [FFILL, BFILL], AXIS = [0,1]) Функция-6: (обратная наполнение горизонтально):

df.fillna(method = 'bfill', axis=1)

# backward filling horizontally

Объяснение: ось = 1 Средства горизонтально отстаивают заполнение. Ex: В 2011 ряд D колонна будет заменена на Е данные столбца. Точно так же А, б Столбцы будут заменены на C данные столбца. F Столбец останется иметь отсутствие данных, так как ни один другой столбец не существует правой стороны на F столбец. Выход:

G10). Замените недостающие данные для всех столбцов:

df.fillna(df.mean())

Объяснение: В пределах Fillna () Функция, которую мы используем Среднее () Функция для поиска иметь в виду или средний Значение в каждой строке и заполнение недостающих значений. Ex: Давайте посмотрим среднее значение в столбце А с отсутствующими значениями. Такое же среднее значение будет скопировано во все недостающие записи в столбце A . То же самое повторится для всех колонн отсутствующих данных. Колонка F останется же, потому что все записи в столбце F не хватает. Примечание: вместо того Среднее () Функция, мы можем использовать любую из функций агрегации, такие как сумма () , мин () , Макс () , prod () , std () Функции. Эта задача очень важна во всех проектах в реальном времени, поскольку данные в реальном мире будут иметь недостающие данные, и нам нужно заменить эти недостающие ячейки с соответствующими данными. Выход:

G11). Замените отсутствующие данные только для нескольких столбцов:

df.fillna(df.mean() ['B':'C'])

Объяснение: Здесь мы заполняем только Среднее () Значение в столбцах B, C Отказ Остальные колонны будут иметь недостающие данные. Выход:

G12). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-1:

df

Объяснение: Этот раздел предназначен для образца DataFrame с отсутствующими данными. Dropna () Функция полезна, когда мы хотим удалить недостающие данные в терминах строк и столбцов. У нас больше контроля с Dropna () функция. В Ось Параметр по умолчанию будет иметь Ось = 0 удалить строки. ось = 1 для удаления колонн. В Как Параметр bydefault будет иметь Как = «любой» что означает Если какая-либо одна ценность мисс Затем рассмотрите эту строку или столбец. Как = 'все' означает Если все значения мисс Затем рассмотрите эту строку или столбец. С обрезать Параметр мы можем определить нить = к. где к это число <= Количество строк или количество столбцов Отказ FF у нас есть к Количество непустые значений, то эти строки или столбцы могут быть рассмотрены на выходе. Не беспокойтесь о части теории, мы будем идти по примерам. Выход:

G13). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-2:

df.dropna()
# by default this function looks like df.dropna(axis=0, how='any')
df.dropna(how='any')
df.dropna(axis=0)
df.dropna(axis=0, how='any')

Объяснение: Bydefault с Dropna () Функция мы несем Ось = 0 и Как = «любой» Параметры. Ось = 0 означает строку мудрый, Как = «любой» означает в любой строке, если любое значение Отсутствует тогда, мы бросим этот преходящий ряд. Но в нашем примере все строки по меньшей мере 1 Отсутствует значение (если мы вспомним целую F столбец отсутствует). Таким образом, мы получим пустую DataFrame, как ниже. Выход:

G14). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-3:

df.dropna(axis=1)
# by default this function looks like df.dropna(axis=1, how='any')
df.dropna(axis=1, how='any')

Объяснение: По умолчанию с Dropna () Функция мы несем Как = «Многие» Параметр вместе с Ось = 1. . ось = 1 означает столбец мудрый, Как = «любой» значит в любой колонке, если любое значение Отсутствует тогда, мы сбросим этот преходящий столбец. В нашем примере у нас есть только Е столбец, который не имеет ни одного пропущенного значения и остается все остальные столбцы, имеющие по меньшей мере 1 недостающие данные. Выход:

G15). Dropna (AXIS = [0,1], как = [любой, все], Thresh) EX-4:

df.dropna(how='all')
#by default this function looks like df.dropna(how='all', axis=0)
df.dropna(how='all', axis=0)

Объяснение: Как = 'все' Средства в данной строке, если все клетки имеют недостающие данные, то эта строка будет устранена в выходе. Ось = 0 будет добавляться по умолчанию на функцию. В нашем примере у нас нет таких строк, где отсутствуют все столбцы, поэтому мы получим наш оригинальный Dataframe в качестве вывода. Выход:

G16). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-5:

df.dropna(how='all', axis=1)

Объяснение: ось = 1 означает, что мы должны рассматривать столбцы и Как = 'все' будет рассматриваться как в каждом столбце, если все клетки отсутствуют, то этот столбец будет устранен на выходе. В нашем примере F Столбец имеет все недостающие данные, поэтому он будет устранен. Выход:

G17). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-6:

df.dropna(thresh=2, axis=0)

Объяснение: Ось = 0 означает строку мудрый, Thresh = 2 означает в каждом ряду, если у нас будет по крайней мере 2 Недостающие данные (правильные данные), то эта строка будет рассмотрена на выходе. Если какая-то строка, имеющая меньше 2 Не пропустивные данные, то эти строки будут устранены. В 2014, 2019 ряды у нас есть только 1 Невыполнение данных, поэтому эти строки будут устранены. Выход:

G18). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-7:

df.dropna(thresh=3, axis=0)

Объяснение: Ось = 0 означает строку мудрый, Thresh = 3 означает в каждом ряду, если у нас будет по крайней мере 3 Недостающие данные (правильные данные), то эта строка будет рассмотрена на выходе. Если какая-то строка, имеющая меньше 3 Не пропустивные данные, то эти строки будут устранены. В 2011, 2012, 2014, 2017, 2018, 2019 строки у нас есть меньше 3 Невыполнение данных, поэтому эти строки будут устранены. Выход:

G19). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-8:

df.dropna(thresh=4, axis=1)

Объяснение: ось = 1 означает столбец мудрый, Thresh = 4 значит в каждом столбце, если у нас будет по крайней мере 4 Недостающие данные (правильные данные), то этот столбец будет рассмотрена на выходе. Если какая-либо столбец, имеющая меньше 4 Недостающие данные, то эти столбцы будут устранены. В F Столбцы Все клетки имеют недостающие данные, поэтому он будет устранен. Выход:

G20). Dropna (Axis = [0,1], как = [любой, все], Thresh) EX-9:

df.dropna(thresh=6, axis=1)

Объяснение: ось = 1 означает столбец мудрый, Thresh = 6 значит в каждом столбце, если у нас будет по крайней мере 6 Недостающие данные (правильные данные), то этот столбец будет рассмотрена на выходе. Если какая-либо столбец, имеющая меньше 6 Недостающие данные, то эти столбцы будут устранены. В A, B, D, F Столбцы меньше 6 Непазные клетки доступны, поэтому эти столбцы будут устранены. Выход:

H). Группа в DataFrames:

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

H1). Образец данных:

dict1 = {"Company":['Google','Microsoft','FB','Google','Microsoft','FB'], 
         "Employe":['AA','BB','CC','DD','EE','FF'], 
         "Sales":[100,200,140,160,150,180]}
df = pd.DataFrame(dict1)
df

Объяснение: Используя словарь Python с 3 ключами ( Company, Profiale, продажи ), и каждый ключ имел значение со списком из 6 объектов, использовались созданные PandaFrame PandaFrame. Выход:

H2). Создать группы из DataFrame:

grp_company = df.groupby("Company")
grp_company.groups

Объяснение: От DF DataFrame Использование Компания колонна мы группируем данные с df.groupby ("Компания") синтаксис. Наконец мы печатаем группы с указательным значением из DataFrame. Выход:

H3). Проверка статистической информации:

grp_company.describe()

Объяснение: grp_company Содержит каждую группу деталей и Опишите () Функция мы можем получить статистическую информацию о каждой группе. Выход:

H4). Транспонимент статистической матрицы:

grp_company.describe().transpose()

Объяснение: Используя транспонировать () Функция, которую мы переворачиваем матрицу такого способа, которые строки становятся колоннами и наоборот. Выход:

H5). Функции агрегации:

grp_company.sum()

Объяснение: В верхней части каждой группы мы можем применить функции агрегации, такие как min (), max (), сумма (), avg () Чтобы получить больше представления данных. Выход:

I). Объедините несколько данных DataFrames:

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

  • слияние () – Если мы знаем о SQL присоединяться И если мы хотим выполнить SQL, как Joinines, то эта функция поможет нам. Большинство из которых мы будем использовать слияние () Функция при работе в данных в реальном времени. Эта функция поставляется с большей гибкостью для управления совместными операциями.
  • Присоединяйтесь () – Эта функция действует как левое присоединение в слияние () функция. В этом мы не укажем, на каком основу необходимо иметь место. По умолчанию он будет присоединиться к DataFrames на основе индексов, которые мы предоставляем.
  • CONCAT () – Эта функция немного отличается от Слияние (), присоединиться () Функции, как это просто сочетает в себе 2 или более данных DataFrames ?| ряды мудрые (вертикально) или столбцы мудрые (по горизонтали) Отказ

I1). Образец dataframes:

#df1
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3','A4', 'A5'],
                        'B': ['B0', 'B1', 'B2', 'B3', 'B4', 'B999'],
                        'C': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'],
                        'D': ['D0', 'D1', 'D2', 'D3', 'D4', 'D5']},
                        index=[0, 1, 2, 3, 4, 5])

#df2
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                        'B': ['B4', 'B5', 'B6', 'B7'],
                        'C': ['C4', 'C5', 'C6', 'C7'],
                        'D': ['D4', 'D5', 'D6', 'D7'],
                        'E': ['E4', 'E5', 'E6', 'E7']},
                         index=[4, 5, 6, 7]) 

#df3
df3 = pd.DataFrame({'A': ['A7', 'A8', 'A9', 'A10', 'A11'],
                        'B': ['B7', 'B8', 'B9', 'B10', 'B11'],
                        'C': ['C7', 'C8', 'C9', 'C10', 'C11'],
                        'D': ['D7', 'D8', 'D9', 'D10', 'D11']},
                        index=[7, 8, 9, 10, 11])

Объяснение: Мы создали 3 dataframes ( df1, df2, df3 ) с указанными значениями. Эти данные дата будут использоваться ниже слияние () Учебники. Выход:

Типы присоединений мы собираемся обсудить с слияние () Функция следующим образом:

I2). Merge (DF1, DF2,) EX-1: Вы можете пропустить этот пример:

df1_inner_df2 = pd.merge(df1, df2, how='inner')
df1_inner_df2

# df1_merge_df2 = pd.merge(df1, df2)

Объяснение: В реальных проблемах мира мы в основном используем слияние () Функция над Присоединиться (), комбайн () Функция как с слияние () Функция мы можем выполнить SQL Как присоединиться к операциям. В слияние () по умолчанию Как = внутреннее и на = индексы состоится. Внутреннее соединение означает, что все записи, которые сопоставляются в обеих данных с заданными столбцами, либо индексами, мы напечатаны. Если мы специально упомяну о присоединении к условию с на = Параметр с либо столбцы или индексы Внутреннее соединение будет происходить с указанным столбцы или индексы Иначе по умолчанию присоединяйтесь к окажу на основе Индексы дано в датафараме. Бывший: В этом примере мы не предоставили на = параметр, Так что по умолчанию Внутреннее соединение будет выполняться на основе Индексы DF1, DF2 Отказ DF1 Индексные значения = [0, 1, 2, 3, 4, 5] а также DF2 Индексные значения = [4, 5, 6, 7] Отказ из 2 только индексных списков [4,5] Индексы соответствуют. Давайте исследуем 4,5 Индексы из каждого датафарама. DF1 Индекс 4 = [A4, B4, C4, D4] и DF2 Индекс 4 = [A4, B4, C4, D4, E4] Отказ Здесь мы выступаем внутреннее соединение Таким образом, все соответствующие столбцы по сравнению и все соответствуют. DF1 Индекс 5 = [A5, B999, C5, D5] а также DF2 Индекс 4 = [A5, B5, C5, D5, E5] Отказ Здесь колонна B имеет разные значения ( B999 ) Так что индекс B не будет напечатан. Выход:

I3). Merge (DF1, DF2,) EX-2:

df1_inner_df2 = pd.merge(df1, df2, how='inner', on=['A', 'C', 'D'])
df1_inner_df2

# SQL Query for above python code:
SELECT df1.*, df2.* 
FROM df1 
INNER JOIN df2 
ON (df1.A=df2.A AND df1.C=df2.C AND df1.D=df2.D)

Объяснение: Вот и мы делаем внутреннее соединение с Как = 'Внутреннее' параметр, но дополнительно мы даем на = [«A», «C», «D»] Параметр для выполнения внутреннего соединения на основе A, C, D столбцы. В обоих DF1, DF2 Dataframes Если какая-либо ряд, имея то же самое A, C, D Значения столбцов, то эти строки будут напечатаны. Ex: В 4,5 Индексы из обоих данных DataFrames A, C, D столбцы соответствуют так 4,5 Индексы будут напечатаны. Если мы соблюдаем имена столбцов, у нас есть B_x, b-y столбцы. Здесь B_x исходит из DF1 и B_Y исходит из DF2 Отказ Просто чтобы получить прозрачный выход Pandas автоматически добавит эти _x, _y символы для соответствия столбцов в обоих данных DataFrame, если они имеют разные данные. Выход:

I4). Слияние (df1, df2, on = [‘a’, ‘d’]):

df1_left_df2 = pd.merge(df1, df2, how='left', on=['A', 'D'])
df1_left_df2

# SQL Query for above python code:
SELECT df1.*, df2.* 
FROM df1 
LEFT JOIN df2 
ON (df1.A=df2.A AND df1.D=df2.D)

Объяснение: Мы выступаем левое соединение между DF1, DF2 с A, D столбцы как присоединение условия. Левое присоединение означает, что все строки из левого стола ( DF1 ) и соответствующие значения строк из правого стола ( DF2 ) будут иметь правильные значения. Не совпадающие строки из правого стола ( DF2 ) будут иметь Нан I.E. Не число Отказ Просто чтобы избежать неоднозначности между DF1, DF2 Имена столбцов _x для DF1 Имена столбцов, _Y для DF2 Имена столбцов будут включены. Примечание: Имена столбцов A, D останется же, потому что эти столбцы сопоставляются между 2 DataFrames и именем столбцами Е Также останется же, потому что столбец Е не неоднозначен. При выходе всех строк [6] от левой DF, сопоставление строк [2] от правой DF. Общий. Выход:

I5). Слияние (df1, df2, on = [‘a’, ‘d’]):

df1_right_df2 = pd.merge(df1, df2, how='right', on=['A', 'D'])
df1_right_df2

# SQL Query for above python code:
SELECT df1.*, df2.* 
FROM df1 
RIGHT JOIN df2 
ON (df1.A=df2.A AND df1.D=df2.D)

Объяснение: Мы выступаем правильно присоединиться к между DF1, DF2 с A, D столбцы как присоединение условия. Правильно присоединиться к означает, что все строки из правого стола ( DF2 ) и соответствующие значения строки из левой таблицы ( DF1 ) будут иметь правильные значения. Не совпадающие строки из левой таблицы ( DF1 ) будут иметь Нан I.E. Не число Отказ Просто чтобы избежать неоднозначности между DF1, DF2 Имена столбцов _x для DF1 Имена столбцов, _Y для DF2 Имена столбцов будут включены. При выходе всех строк [4] от правого DF, сопоставление строк [2] от левой DF. Общий. Выход:

I6). Слияние (df1, df2, on = [‘a’, ‘d’]):

df1_outer_df2 = pd.merge(df1, df2, how='outer', on=['A', 'D'])
df1_outer_df2

# SQL Query for above python code:
SELECT df1.*, df2.* 
FROM df1 
FULL OUTER JOIN df2 
ON (df1.A=df2.A AND df1.D=df2.D)

Объяснение: Мы выступаем внешнее соединение между DF1, DF2 с A, D столбцы как присоединение условия. Oudrejoin означает, что все строки из левого стола ( DF1 ) и все строки из правого стола ( DF2 ) будут отображаться, но не совпадающие строки из обеих таблиц будут отображаться как Нан I.E. Не число Отказ В выходе (FLEALDF [6] -Matching [2]) + (совпадение [2]) Будут отображаться ++ 2 + 2 Total Rows. Выход:

I7). Регистрация () Функция:

# df1 declaration
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                      index=['K0', 'K1', 'K2']) 

# df2 declaration
df2 = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                    'D': ['D0', 'D2', 'D3']},
                      index=['K0', 'K2', 'K3'])

#Join statement
df1_join_df2 = df1.join(df2)
df1_join_df2

Объяснение: По умолчанию Присоединяйтесь () Функция действует как левое соединение в SQL боковая сторона. Здесь мы не уточнем на каких основаниях он должен присоединиться, он рассмотрит индексы для присоединения. В реальном мире приложения слияние () функция используется очень часто. В выходе всех строк из левой таблицы ( DF1 ) и сопоставление строк из правого стола ( DF2 ) будут иметь правильные значения и не совпадающие строки из правого стола ( DF2 ) будет иметь Нан Отказ Выход:

I8). CONCAT ([DF1, DF2, DF3]):

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

#df1
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3','A4', 'A5'],
                        'B': ['B0', 'B1', 'B2', 'B3', 'B4', 'B999'],
                        'C': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'],
                        'D': ['D0', 'D1', 'D2', 'D3', 'D4', 'D5']},
                        index=[0, 1, 2, 3, 4, 5])

#df2
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                        'B': ['B4', 'B5', 'B6', 'B7'],
                        'C': ['C4', 'C5', 'C6', 'C7'],
                        'D': ['D4', 'D5', 'D6', 'D7'],
                        'E': ['E4', 'E5', 'E6', 'E7']},
                         index=[4, 5, 6, 7]) 

#df3
df3 = pd.DataFrame({'A': ['A7', 'A8', 'A9', 'A10', 'A11'],
                        'B': ['B7', 'B8', 'B9', 'B10', 'B11'],
                        'C': ['C7', 'C8', 'C9', 'C10', 'C11'],
                        'D': ['D7', 'D8', 'D9', 'D10', 'D11']},
                        index=[7, 8, 9, 10, 11])
df1_df2_df3_ver_concat = pd.concat([df1, df2, df3])
df1_df2_df3_ver_concat

# df1_df2_df3_ver_concat = pd.concat([df1, df2, df3], axis=0)

Объяснение: CONCAT () Функция будет использоваться с ось = [0,1] параметр. Если мы дадим ось = 0. Затем все данные данных данных ( df1, df2, df3 ) будут объединены вертикальные способы, как ниже. По умолчанию CONCAT () Функция будет иметь Ось = 0 параметр. В выходе все не существующие строки будут заменены на Нан при сочетании. Выход:

I). CONCAT ([DF1, DF2, DF3]):

df1_df2_df3_hor_concat = pd.concat([df1, df2, df3], axis=1)
df1_df2_df3_hor_concat

Объяснение: CONCAT () Функция будет использоваться с ось = [0,1] параметр. Если мы дадим Ось = 1. Затем все данные дата данных ( df1, df2, df3 ) будут объединены горизонтально, как ниже. В выходе все не существующие строки будут заменены на Нан при сочетании. Выход:

Заключение:

Я надеюсь, что вы научились концепции Panda с простыми примерами. Счастливое обучение … !!

Оригинал: “https://dev.to/surendraarivappagari/pandas-tutorials-python-for-data-science-4h96”