Наиболее используемые функции Pandas

Pandas – одна из самых популярных и используемых библиотек Python. Функций в ней так много, что бывает трудно запомнить все. Но запомнить основые вполне возможно. В этой статье мы рассмотрим некоторые функции Pandas из числа наиболее используемых.

1. Считывание CSV-файла

Существует множество случаев, когда данные представлены в CSV-файле. Для загрузки таких файлов мы используем функцию read_csv(). Она имеет следующие параметры:

  • filepath – адрес файла для чтения в кавычках
  • sep для указания разделителя (по умолчанию – запятая)
  • header для указания номера строки, содержащей метки столбцов
  • names  (опциональный) для явного указания меток столбцов
  • index_col (опциональный) для указания, какой столбец используется в качестве меток строк

Пример:

df = pd.read_csv('train.csv')

Примечание редакции: подробнее о чтении CSV читайте в статье “Как прочитать CSV-файл в Python”.

2. head() и tail()

Для отображения первых и последних строк данных мы используем функции head() и tail() соответственно. Мы можем указать, сколько строк нужно вывести, передав число в функцию. По умолчанию она выводит пять строк.

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

Вывод первых строк:

df.head()

Результат:

Таблица из пяти строк - вывод функции df.head() без указания количества выводимых строк.

Вывод двух последних строк:

df.tail(2)

Результат:

Таблица из двух строк, результат работы функции df.tail(2)

3. Shape

Для отображения размеров DataFrame, т.е. количества строк и столбцов, мы используем атрибут shape.

df.shape

# Результат:
#(891, 12)

4. info()

Эта функция используется для отображения информации о DataFrame, такой как номера, метки и типы данных столбцов, использование памяти, индекс диапазона и количество значений в каждом столбце (ненулевые значения).

df.info()
Вывод функции df.info()

Функция info() выводит общее количество записей в данных вместе с диапазоном. Приведенные данные имеют 11 столбцов, которые относятся к типам float, int и object (string). Они занимают 83,7 КБ памяти.

5. Describe

С помощью функции Pandas describe() мы можем вывести множество статистических значений в нескольких столбцах при помощи всего одной строки кода.

Для непрерывных переменных эта функция возвращает количество, среднее значение, медиану, стандартное отклонение, 25-й и 75-й процентили, максимальное и минимальное значения.

df.describe()
Вывод функции Pandas describe(): таблица на 7 столбцов

Функция describe() имеет параметр percentiles, в котором мы можем указать перцентили, которые хотим включить в вывод.

По умолчанию функция выдает статистическую сводку только для числовых переменных. Для отображения других переменных можно указать параметр include.

df.describe(include='all')

Результат:

Вывод функции df.describe(include='all'). Таблица на 12 столбцов.

Для категориальных переменных функция возвращает общее количество, количество уникальных значений, наиболее частое значение и его частоту.

Мы можем указать, хотим ли мы отображать только столбцы одного типа, например, числовые, объектные или категориальные. Давайте выведем только строковые:

df.describe(include = [np.object])
# используйте include = ['category'] для категориальных столбцов
# используйте include = [np.number] для числовых столбцов

Результат:

Таблица на 5 столбцов и 4 строки

Мы также можем использовать describe() для конкретного столбца (столбцов). Если же мы хотим удалить некоторые столбцы из сводки статистики, можно использовать параметр exclude.

6. value_counts

Для вычисления и отображения частотности каждого значения в столбце DataFrame используется функция value_counts().

df['Survived'].value_counts()

# Результат:
# 0    549
# 1    342
# Name: Survived, dtype: int64

Мы можем получить процентные значения для каждого уникального элемента в столбце, используя аргумент normalize=True.

df['Survived'].value_counts(normalize=True)*100

# Результат:
# 0    61.616162
# 1    38.383838
# Name: Survived, dtype: float64

Для наглядного представления чисел можно вывести график:

df['Survived'].value_counts(normalize=True).plot.bar()
Столбцовая диаграмма на два столбца: 0 и 1

7. Drop

Иногда нам необходимо удалить из данных некоторые столбцы и строки. Для этого используется функция drop().

С помощью параметра axis мы можем сообщить, столбец это или строка.

# столбец
df.drop(['Ticket'], axis=1, inplace=True)

# строка
df.drop(3, axis=0, inplace=True

Как вы уже поняли, axis=1 указывает на столбец, а axis=0 – на строку. inplace=True означает, что изменения сохраняются в исходном DataFrame.

8. Columns

Для отображения имен столбцов в DataFrame мы используем атрибут columns.

df.columns


# Результат:
# Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
#        'Parch', 'Fare', 'Cabin', 'Embarked'],
#       dtype='object')

9. rename()

Часто имена столбцов имеют нестандартный формат. Чтобы их изменить, мы используем функцию rename(). Для этого в функцию нужно передать текущее имя столбца и его новое имя:

df.rename(columns={'PassengerId' : 'ID'}, inplace=True)

Примечание редакции: об этом и других изменениях в столбцах читайте в статье “Обновление строк и столбцов в Pandas”.

10. unique() и nunique()

Для нахождения всех уникальных значений в столбце используется функция unique(), а для нахождения их количества – функция nunique().

df['Embarked'].unique()

# array(['S', 'C', 'Q', nan], dtype=object)

df['Embarked'].nunique()

# 3

Функция unique() включает значения nan, а функция unique() исключает их.

Перевод статьи «The Most Used Functions of Pandas».

1 комментарий к “Наиболее используемые функции Pandas”

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *