Какие данные обрабатывает pandas?¶
Я хочу начать использовать pandas
In [1]: import pandas as pd
Чтобы загрузить пакет pandas и начать с ним работать, импортируйте его. Сообщество согласовало псевдоним
pd
для pandas, поэтому загрузка pandas какpd
считается стандартной практикой для всей документации pandas.
Представление таблицы данных pandas¶
Я хочу сохранить данные пассажиров Титаника. Для ряда пассажиров мне известны данные об именах (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
представляет собой текстовые данные.
В программном обеспечении для работы с электронными таблицами табличное представление наших данных будет выглядеть очень похоже:
Каждый столбец в DataFrame
представляет собой Series
¶
Меня интересует работа с данными только в столбце
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
приведено в руководстве пользователя, во введении в структуры данных.