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

Pandas Pundit: доступ к данным в данных данных

Поздравляю – Вы только что приземлились на новую работу в качестве ученого данных 😀! В вашем первом месяце вам … помечены Python, Pandas, наукой данных.

Поздравляю – Вы только что приземлились на новую работу в качестве ученого данных 😀! В вашем первом месяце вам нужно начать анализировать тонны данных Отказ Но прежде чем начать разблокировать идеи и предсказывать будущие тенденции, вам нужно Доступ эти данные для его изучения. Ики! Хотели бы вы только что начали предсказывать будущие тенденции сразу же? Улыбка, ты не доктор судьба!

Эти тонны данных могут сильно различаться в форме, и они обычно видны в табличной структуре, где у нас есть строки (также известные как записи, наблюдения и т. Д.) и столбцы (также известны как функции, переменные, поля и т. Д.) – вроде в 1.md ниже:

Данные в файлах .csv и .xlsx имеют табличную структуру и для эффективного работы с такими данными в Python , нам нужно использовать Пандас упаковка. В пандах есть структура данных, которая может обрабатывать табличную структуру данных – эта структура данных называется Dataframe Отказ Смотри на 2.md ниже, чтобы увидеть версию DataFrame 1.md :

В 2.md , вы можете увидеть подобную структуру, как в 1.md – У нас также есть строки и столбцы – каждая строка имеет уникальную метку строки – NG С CA , BR С CH , FR Отказ У столбцов также есть этикетки – страна , столица , Научность_Миллионы Отказ Итак, как вы размещаете эти данные в DataFrame, чтобы начать исследовать? Также для вас, чтобы исследовать это хорошо, Каковы различные способы доступа к данным в этом dataframe ? Ваше здоровье! Вы собираетесь начать свое путешествие по статью Pundit!

Вам дают тонны данных в файле CSV, как показано ниже 3.csv. :

Прежде всего, чтобы получить данные в 3.csv в dataframe, посмотрите на 4.py ниже:

который возвращает DataFrame в 5.txt ниже:

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

  1. квадратные скобки: [ ]
  2. loc: метка- основанный
  3. ILOC: позиция- основанный
  4. на: на основе этикеток
  5. IAT: на основе позиции

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

Давайте посмотрим на Доступ к столбцу и Доступ к ряд Использование []: 1.1 : Доступ к столбцу : У нас есть Одиночная колонна доступа и Несколько Column Access Отказ 1.1.1 : Одиночная колонна доступа : Для доступа к данным в Страна колонна в 5.txt Выше, например, мы делаем:

который возвращает:

В 7.txt Выше, DTYPE (DataType) от того, что возвращается, является объектом. Тип возвращаемого объекта может быть известен с использованием:

В 8.pypy выше, это панда Серия объект. А Пандас серии Это 1D (1-мерный массив), который можно пометить так же, как файл DataFrame, серия имеет метки/индексы ROW. Итак, с этим это показывает, что Коллекция серии создает dataframe Отказ

Возвращенный объект этой серии также может быть доступен с использованием квадратных скобок. Например, чтобы схватить значение Нигерия в 7.txt над см. 9.py ниже:

Кроме того, обратите внимание, что я могу использовать точечная запись Как видно в Линии 19-20 над. Используйте нотацию DOT, когда Имя столбца не содержит специальных символов или пробелов и не является ключевым словом в Python Отказ

Однако, если вы хотите, чтобы DataFrame возвращается, а не серия – используйте двойные квадратные скобки, как видно в 10.py ниже:

1.1.2 : Несколько Column Access. : Для доступа к более чем одному столбцу в 5.txt. , мы делаем:

который возвращает:

1.2 : Ряд доступа : Единственный способ доступа к строкам в DataFrame с использованием квадратных кронштейнов – указание среза на ряд. Указание индекса нарезки принимает форму – Начало: Стоп: Шаг/Шайд

Индексы либо Числовый который по умолчанию или помечены Отказ Давайте погрузиться глубже ниже:

1.2.1 : числовые показатели по умолчанию : Дано [X: Y: Z] Как индекс нарезки, это означает Считать приращение z начиная с х включительно, до y эксклюзивный – Для числовых индексов Индекс остановки всегда эксклюзивный Отказ

Посмотрите на этот рисунок ниже:

На рисунке выше направление, в котором возвращаются мои строки, определяется Знак шага/шага I.e z, учитывая [X: Y: Z] Отказ

  • Если шаг/шаг положительный, начните с указанного положения индекса данных DataFrame и перейдите по вниз/вперед направление при возврате рядов *.
  • Если он отрицателен, начните с указанного позиции индекса данных DataFrame и переместить вверх/назад при возврате рядов.

Дано [: y: -z] в качестве индекса нарезки, начните с последней строки в DataFrame и перейдите назад/вверх/вверх Но если [: y: z] дан, начните с первого ряда в DataFrame и перейдите вперед/вниз Отказ

В переднем/нисходящем или в направлении назад/вверх или вверх, индекс запуска всегда должен прийти до того, как индекс остановки не будет возвращен строки.

Давайте посмотрим ниже в том, как положительный и отрицательный Спущенные работы:

1.2.1.1 : Положительный шаг (ы)/шаг (ы) :

В 13.пи, линии 3-9 Выше мы используем цифровой индекс по умолчанию. У этого есть эта структура Начало: Стоп: [Шаг или шаг] – [шаг или шаг] в квадратных скобках означает, что он необязательно. Дано страны [1: 3] , 1 это начало во время 3 это остановка. Когда шаг или шаг не указан, как будто это здесь, он имеет значение по умолчанию 1.

В 13.пи, линии 11-18 выше – дан страны [2:] – Обратите внимание, что индекс STOP пропускается, то есть явное положение индекса окончания пропускается. страны [2:] Возвращает строки, начиная со строки с индексной позицией 2 до последней строки в DataFrame включительно, как видно выше. : это универсальный ломтик. Если его левая конечная точка (запуск) опущена, то строки возвращаются запускаются с самого первого ряда в DataFrame Но если правая конечная точка опущена, возвращается ряд до самого последнего ряда в DataFrame включительно.

В 13.пи, линии 20-27 выше – дан страны [: 3] – Обратите внимание, что индекс запуска опущен I.e Откровенная позиция индекса запуска опущена. страны [: 3] Возвращает строки, начиная с первого ряда до строки с индексной позицией 2 включительно – помните, что A Числовая остановка индекс Исключительно: Итак, ряд в положении 3 индекса не возвращается, как видно выше.

В 13.пи, линии 29-38 выше, учитывая страны [:] – Обратите внимание, что как индексы начала, так и остановки опущены, то есть явные позиции начала и стоп-индексов опущены. страны [:] Возвращает строки, начиная с начала строки до последней строки включения I.E, он возвращает каждую строку.

В 13.py, линия 40-47 выше, учитывая страны [:: 2] Используя формулу выше, это означает рассчитывает в Увеличение/шаги/шаги Из 2 Начало С первого ряда до Последняя строка включает I.e Это возвращает каждый 2-й строк. Итак, вот как это работает – он возвращает строки

  • начиная с первого ряда, который имеет индекс 0,
  • Добавьте шаги 2 I.E Index 0 + 2; тогда Индекс 2 + 4
  • Итак, у нас есть строки с индексными позициями 0, 2, 4

В 13.пи, линии 49-54 выше, учитывая страны [-1:] – Обратите внимание на Следуя ниже –

  • DataFrame, страны, имеет строки, помеченные NG , CA , BR С CH , FR Отказ Эти строки также имеют числовые индексы по умолчанию, которые могут быть положительными 0 , 1 , 2 , 3 , 4 или отрицательный -5 , -4 , -3 , -2 , -1 .
  • страны [-1:] такой же, как страны [-1:: 1] – Итак, мы начинаем с последнего ряда и идти вниз – вниз, поскольку шаг/шаг положительный
  • Это возвращает только последний ряд, потому что нет другого ряда вниз

В 13.пи, линии 56-64 выше, учитывая страны [: – 1] – он возвращает строки начиная с первого ряда, но исключает последнюю строку.

В 13.пи, линии 66-72 выше, учитывая страны [-2:] – Он возвращает строки, начиная с последнего, но один ряд до последней строки включительно.

В 13.пи, линии 74-81 выше, учитывая страны [: – 2] – он возвращает строки Начиная с первого ряда, пока он не включает в себя строку перед последней, но один ряд.

В 13.пи, линии 83-88 выше, учитывая страны [-1: -1] – это возвращает Пустой dataframe – начинается с последнего ряда, но исключает последнее Ряд, следовательно, ничего не возвращается.

1.2.1.2 : Отрицательный шаг (ы)/шаг (ы) : С отрицательными ступенями, строки возвращаются назад. Давайте посмотрим некоторые примеры в 14.py ниже:

В 14.пи, линии 3-8 выше, учитывая страны [3: -4: -1] – Обратите внимание на следующее ниже:

  • Шаг/шаг отрицательный, поэтому строки возвращаются назад/вверх – когда вы посмотрите на табличную структуру в 5.txt выше, мы начинаем получать строки с конца в зависимости от указанного индекса, а затем перейти вверх/назад I.e от ряда с этикеткой CH, а затем переместите вверх Отказ
  • Стоп имеет отрицательное значение -4, которая является строкой, помеченной CA Отказ Итак, этот ряд и те после него не включены в строки вернулся
  • Следовательно, у нас есть только два ряда Отделение и BR вернулся.

В 14.пи, линии 11-17 выше, учитывая страны [4: -4: -2] – Обратите внимание на следующее ниже:

  • Шаг/шаг отрицательный, а в шагах 2
  • Итак, мы возвращаем строки, начиная с позиции индекса 4, а затем иди вверх/назад I.e от ряд с этикеткой fr, а затем переместите вверх/назад Но Исключает строку с индексной позицией 4 со всеми другими строками после нее … Отказ

В 14.пи, линии 19-24 выше, учитывая Страны [0: -1: -1] , это возвращает Пустой dataframe. Вот почему:

  • Поскольку шаг/шаг негативно, мы начинаем в 0, а затем иди вверх или назад – но кажется, что Остановить индекс приходит до начала индекса – так что это не может работать, отсюда и пустой DataFrame возвращается

1.2.1 : Помечены индексы : С помеченными индексами, это также принимает форму Начало: Стоп: Шаг/Шайд . Но вот некоторые вещи, чтобы принять к сведению ниже:

  • Метка остановки включено , в отличие от числовых индексов, где индекс остановки является исключительным.
  • Сопряжение, помеченные и числовые индексы в индексах начала или стопа запрещены, например, страны E.G [‘NG’: 4] даст ошибку
  • Шаг/шаг до сих пор числовой и может быть положительным или отрицательным
  • И, конечно, все правила, которые идут с положительным или отрицательным шагом/шагом.

Давайте посмотрим некоторые примеры в 15.py ниже:

В 15.py, строки 3-10 выше, учитывая страны [«CA»: «CH»] , мы можем видеть, что строки возвращаются в строку с этикеткой CH который указан метка Stop Index.

В 15.пи, линии 12-20 выше, учитывая страны [: ‘CH’] Строки возвращались начинаются с первого ряда в DataFrame, пока он не включает в себя ряд, помеченную CH Отказ

В 15.пи, линии 22-30 выше, учитывая страны [‘ca’:] Строки вернулись, начинается от ряда, помеченных «Ca» в DataFrame, пока не включает в себя последнюю строку.

В 15.пи, линии 32-39 выше, учитывая страны [‘NG’:: 2] Строки вернулись –

  • Начинается с ряда, помеченных «NG» в DataFrame
  • Добавление шагов 2 – Индекс NG имеет индекс по умолчанию 0, так 0 + 2 = Индекс 2 который является строкой с надписью BR; тогда Индекс 2 + 2 = Индекс 4 , который является ряд, помечена
  • Итак, у нас есть строки, помеченные NG , BR , FR которые имеют цифровые позиции цифровых индекса 0, 2, 4, возвращаются.

В 15.пи, линии 41-49 выше, учитывая страны [: «CA»: – 1] ряды Вернулся –

  • Начинается с последней строки, помеченного FR в датафараме
  • Добавьте шаги -1:
    • индекс FR имеет отрицательный индекс по умолчанию -1 , Таким образом, 1 + -1 = индекс -2. какая строка помечена Отделение
    • Тогда индекс -2 + (-1) = индекс -3. , что является строкой, помеченной Бр
    • Затем индекс -3 + (-1) = показатель -4 , что является строкой, помеченной CA
  • Итак, у нас есть строки, помеченные FR , CH , BR , CA которые имеют цифровые индексные позиции -1, -2, -3, -4 возвращаются.

Использование квадратных кронштейнов [] имеет свои ограничения, такие как возможность выбрать несколько строк и столбцов одновременно. Итак, давайте прыгнем в LOC и ILOC, чтобы увидеть его удивительность!

2.1 : Доступ к ряд : По умолчанию LOC доступ к строкам. LOC на основе ярлык, поэтому мне просто нужно указать ярлык строки. Давайте посмотрим некоторые примеры в 16.py ниже:

В 16.пи, строки 3-16 выше, учитывая страны .Loc [‘fr’] или страны .Loc [[‘fr’]] , ряд с этикеткой О Возвращает серию или DataFrame соответственно.

В 16.пи, линии 18-25 выше, учитывая Страны .loc [[‘ca’, ‘br’, ‘ch’]] Ряды с этикетками, перечисленными в квадратных скобках, возвращаются

2.2 : Доступ к ряду и столбцу : Мы можем одновременно получать доступ к ряду и столбцам, используя LOC. Требуется форма Страны .Loc [ряд, столбец] Отказ Давайте посмотрим некоторые примеры ниже в 17.пин :

В 17.py, линии 3-10 выше, учитывая страны .Loc [[«CA», «BR», «CH»], [«страна», «Капитал»]] – Мы указываем список меток строки, а также список меток столбцов, которые мы хотим возвращаться.

В 17.пи, линии 12-50 Выше мы можем видеть, что ломтики также могут быть указаны. Все, что мы видели до сих пор по отношению к положительным или отрицательным шагам/шагам, также применяются здесь, как видно в приведенных приводах.

2.3 : Доступ к столбцу : Мы также можем выбрать конкретные столбцы, которые нам нужны, пока мы выбираем все строки, как показано ниже 18.py :

Так же, как loc, ILOC на основе строк по умолчанию. Разница в том, что ILOC на основе позиции. Давайте посмотрим некоторые примеры в 19.py ниже:

19.py Выше дает версию ILOC примеров, приведенных для LOC для Доступ к ряд , Row и Column Access и Доступ к столбцу Отказ Когда я ранее сказал, единственное отличие состоит в том, что ILOC на основе позиционирования, пока LOC – основана на этикетке.

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

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

Смотрите некоторые примеры ниже в 20.py :

IAT находится на основе позиции, как ILOC, но также также обращается к одному значению, такому как на Отказ Смотрите некоторые примеры ниже в 21.py :

Теперь давайте суммируем ключевые моменты вместе:

  • Доступ к данным с использованием индексов принимает форму, [Старт: Стоп: Шаг]
  • Числовые индексы Стоп эксклюзивны
  • Индексы стоп этикеток включены
  • Шаг может быть положительным или отрицательным – когда он положительный, начните с указанного индекса, затем перейдите вниз/вперед, но когда он отрицателен, начните с указанного индекса, затем перейдите вверх/назад.
  • Дано [: Y: -Z] В качестве индекса нарезки начните с последнего ряда в DataFrame и перейдите назад/вверх.
  • Дано [: Y: Z] Дано, начните с первого ряда в DataFrame и перейдите вперед/вниз *.
  • loc – на основе этикеток
  • ILOC – на основе позиции
  • на – основана на этике, но возвращает одно значение
  • IAT – основана на позиции, но возвращает одно значение

Wowwww! Это было так много, чтобы принять. Но вы на своем пути становятся пандами Pundit! Оставайтесь настроиться на эту серию для моей следующей статьи на Фильтрация данных в DataFrames Действительно Иметь удивительную и выполненную неделю вперед!

Оригинал: “https://dev.to/joyadauche/the-pandas-pundit-accessing-data-in-dataframes-4164”