Какие данные обрабатывает 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 приведено в руководстве пользователя, во введении в структуры данных.