Какие данные обрабатывает pandas?

  • Я хочу начать использовать pandas

    In [1]: import pandas as pd
    

    Чтобы загрузить пакет pandas и начать с ним работать, импортируйте его. Сообщество согласовало псевдоним pd для pandas, поэтому загрузка pandas как pd считается стандартной практикой для всей документации pandas.

Представление таблицы данных pandas

../../_images/01_table_dataframe.svg
  • Я хочу сохранить данные пассажиров Титаника. Для ряда пассажиров мне известны данные об именах (characters), возрасте (integers) и поле (male/female).

    In [2]: df = pd.DataFrame(
       ...:     {
       ...:         "Name": [
       ...:             "Braund, Mr. Owen Harris",
       ...:             "Allen, Mr. William Henry",
       ...:             "Bonnell, Miss. Elizabeth",
       ...:         ],
       ...:         "Age": [22, 35, 58],
       ...:         "Sex": ["male", "male", "female"],
       ...:     }
       ...: )
       ...: 
    
    In [3]: df
    Out[3]: 
                           Name  Age     Sex
    0   Braund, Mr. Owen Harris   22    male
    1  Allen, Mr. William Henry   35    male
    2  Bonnell, Miss. Elizabeth   58  female
    

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

Класс DataFrame — это двумерная структура данных, которая может хранить в столбцах данные разных типов, включая символы, целые числа, значения с плавающей запятой, категориальные данные и так далее. Это похоже на электронную таблицу Excel, таблицу SQL или data.frame в R.

  • В таблице три столбца, каждый из которых имеет метку. Метки столбцов соответственно Name, Age и Sex.

  • Столбец Name состоит из текстовых данных, где каждое значение представляет собой строку, столбец Age представляет собой числа, а столбец Sex представляет собой текстовые данные.

В программном обеспечении для работы с электронными таблицами табличное представление наших данных будет выглядеть очень похоже:

../../_images/01_table_spreadsheet.png

Каждый столбец в DataFrame представляет собой Series

../../_images/01_table_series.svg
  • Меня интересует работа с данными только в столбце Age.

    In [4]: df["Age"]
    Out[4]: 
    0    22
    1    35
    2    58
    Name: Age, dtype: int64
    

    При выборе одного столбца pandas DataFrame результатом будет Series. Чтобы выбрать столбец, используйте метку столбца в квадратных скобках [].

Примечание

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

Вы также можете создать Series с нуля:

In [5]: ages = pd.Series([22, 35, 58], name="Age")

In [6]: ages
Out[6]: 
0    22
1    35
2    58
Name: Age, dtype: int64

У Series в pandas нет меток столбцов, так как это всего лишь один столбец DataFrame. Метки строк в Series есть.

Действия над DataFrame или Series

  • Я хочу знать максимальный возраст пассажиров

    Мы можем сделать это в DataFrame, выбрав столбец Age и применив max():

    In [7]: df["Age"].max()
    Out[7]: 58
    

    Или к Series:

    In [8]: ages.max()
    Out[8]: 58
    

Как показано на примере метода max(), вы можете делать что-либо с DataFrame или Series. pandas предоставляет множество функций, каждая из которых представляет собой метод, который вы можете применить к DataFrame или Series. Поскольку методы являются функциями, не забывайте использовать круглые скобки ().

  • Меня интересуют некоторые основные статистические показатели числовых данных моей таблицы

    In [9]: df.describe()
    Out[9]: 
                 Age
    count   3.000000
    mean   38.333333
    std    18.230012
    min    22.000000
    25%    28.500000
    50%    35.000000
    75%    46.500000
    max    58.000000
    

    Метод describe() обеспечивает краткий обзор числовых данных в DataFrame. Поскольку столбцы Name и Sex являются текстовыми данными, они по умолчанию не учитываются методом describe().

Многие операции pandas возвращают DataFrame или Series. Метод describe() является примером операции pandas, возвращающей Series или DataFrame.

В руководстве пользователя

Проверьте дополнительные параметры describe в разделе руководства пользователя об обобщениях с помощью describe.

Примечание

Это всего лишь отправная точка. Подобно программному обеспечению для работы с электронными таблицами, pandas представляет данные в виде таблицы со столбцами и строками. Помимо представления, pandas также поддерживает операции с данными и вычисления, как при работе с электронными таблицами.

ЗАПОМНИТЕ

  • Импорт пакета: import pandas as pd.

  • Таблица данных в pandas хранится как DataFrame.

  • Каждый столбец в DataFrame представляет собой Series

  • Вы можете применять методы к DataFrame или Series.

В руководстве пользователя

Более подробное объяснение DataFrame и Series приведено в руководстве пользователя, во введении в структуры данных.