Pandas — это библиотека Python, используемая для работы с наборами данных. Он имеет функции для анализа, очистки, изучения и манипулирования данными. Он построен поверх NumPy.

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

Серия

Серия по сути является массивом NumPy, однако, в то время как массив NumPy имеет неявно определенный целочисленный индекс, используемый для доступа к значениям, серия Pandas имеет явно определенный индекс, связанный со значениями.

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

 pd.Series([123, 1743, -504, 4], index=['a', 'b', 'c', 'd'])

Совершенно очевидно, что это должно напоминать вам о словарях, и преобразование словаря в серию действительно возможно.

Запрос серии: запрос результатов на основе данных.

  1. iloc и loc:
    Они предназначены для поиска значения, соответствующего индексу, где число вводится как число или метка столбца соответственно.
    Это атрибуты, поэтому мы используем [ ], а не ( ) .

2. Одновременные операции

Это результат векторизации в операциях NumPy. Поскольку Pandas построен на NumPy, мы можем использовать методы, которые выполняют вычисления одновременно (или параллельно), что сокращает время.

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

import pandas as pd
#say we have a Series s.
s = pd.Series(np.random.randint(0,1000,1000))

Две возможности:

Фрейм данных

По сути, это 2D-серия.

DataFrame имеет индекс строки и столбца; его можно рассматривать как список серий (один для всех, использующих один и тот же индекс).
~ Python для анализа данных, Уэс Маккинни.

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

Создание кадра данных

Несколько серий:

Список словарей:

Запрос DataFrame:

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

Результирующий тип запроса для доступа к части DataFrame может быть следующих типов:

а) тип объекта (тип элемента NumPy в этом месте). [ Когда возвращается один элемент].
b) pandas.core.series.Series[Когда возвращается строка или столбец из-за присутствия более одного индекса].
c) pandas.core.frame.DataFrame [Когда присутствует несколько значений, соответствующих обоим индексам].

  1. Выбор значения поперек оси

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

2. Доступ к столбцам

На самом деле использование loc, например df.loc[‘Column_Name’], приведет к ошибке.

3. Использование loc to для выбора определенного подмножества DataFrame

4. Сравнение на месте и стандартное назначение

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

А) Общий метод

df = df.drop(columns = ["Column_Name"])

Это изначально идет о создании дополнительной памяти, а затем назначает ее df. Несмотря на то, что мы достигли своей цели, мы напрасно потратили место для хранения.

B) Способ эффективного хранения

df = df.drop(columns = ["Column_Name"],inplace =True)

Это полезно прочитать, если вы хотите узнать больше об операциях на месте.