Pandas: количество столбцов (подсчет столбцов в DataFrame)
В этом уроке вы узнаете, как использовать Pandas для подсчета количества столбцов в DataFrame Pandas. Вы изучите несколько способов для этого, включая использование атрибута df.columns
и атрибута df.shape
. Знание того, как получить количество столбцов в DataFrame Pandas, является важным навыком. Поскольку эти методы выполняют разные функции и возвращают разные типы значений, знание того, какой метод возвращает нужный вам тип результата, полезно для того, чтобы ваша программа действовала так, как вы хотите.
Краткий ответ: Используйте len(df.columns)
# Подсчет количества столбцов в Pandas DataFrame
num_columns_a = len(df.columns) # Способ 1: используя свойство .columns
num_columns_b = df.shape[1] # Способ 2: используя свойство .shape (возвращает [строки, столбцы])
# Оба метода дают одинаковый результат - количество столбцов в DataFrame
Оглавление
Загрузка образца Pandas Dataframe
Давайте начнем этот учебник с загрузки примера dataframe, с которым вы можете следовать. Если вы работаете с собственным dataframe, вероятно, вы получите другие результаты.
Загрузим наш Dataframe с помощью Pandas:
# Загрузка образец DataFrame Pandas с использованием seaborn.load_dataset
from seaborn import load_dataset
df = load_dataset('penguins')
print(df.head())
# Возвращает:
# species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
# 0 Adelie Torgersen 39.1 18.7 181.0 3750.0 Male
# 1 Adelie Torgersen 39.5 17.4 186.0 3800.0 Female
# 2 Adelie Torgersen 40.3 18.0 195.0 3250.0 Female
# 3 Adelie Torgersen NaN NaN NaN NaN NaN
# 4 Adelie Torgersen 36.7 19.3 193.0 3450.0 Female
В приведенном выше коде мы загрузили DataFrame Pandas с помощью функции load_dataset()
, которая входит в пакет Seaborn. Если у вас не установлен модуль Seaborn, вы можете установить его с помощью следующей команды:
pip install seaborn
Чтобы узнать больше о библиотеке Seaborn, ознакомьтесь с моим подробным руководством здесь, которое поможет вам использовать эту популярную библиотеку для визуализации данных.
Теперь, когда у нас есть датафрейм, давайте научимся считать количество столбцов в датафрейме Pandas с помощью атрибута .columns
.
Хотите узнать больше о f-строках в Python? Ознакомьтесь с моим подробным руководством, в котором есть пошаговое видео, чтобы овладеть f-строками в Python!
Получить количество столбцов Pandas Dataframe с помощью .columns
В этом разделе вы научитесь простому и универсальному методу подсчета количества столбцов в Pandas Dataframe. Поскольку Dataframe Pandas являются объектами Python, мы можем получать доступ к различным атрибутам, принадлежащим им. Одним из этих атрибутов является атрибут .columns
, который возвращает структуру, подобную списку, содержащую все различные столбцы в этом dataframe
Поскольку мы можем подсчитать количество элементов в списке с помощью функции len()
, мы можем передать атрибут этой функции, чтобы подсчитать количество столбцов в нашем датафрейме.
Посмотрим, как это работает
# Подсчет числа столбцов в DataFrame Pandas с использованием .columns
from seaborn import load_dataset
df = load_dataset('penguins')
num_columns = len(df.columns)
print(num_columns)
# Возвращает: 7
Мы видим на примере выше, что когда мы передаем атрибут .columns
в функцию len()
, это возвращает количество колонок в списке датафрейма.
В следующем разделе вы узнаете, как подсчитать количество столбцов в Pandas Dataframe, соответствующих определенному условию.
Подсчитайте количество столбцов Pandas Dataframe, соответствующих условию
Могут возникнуть ситуации, когда необходимо подсчитать количество столбцов в DataFrame Pandas, которые соответствуют определённому условию. Например, вам может быть интересно, сколько столбцов содержат заданный суффикс или содержат числа.
Мы можем сделать это, используя атрибут .columns
фрейма данных. Мы можем использовать списковое включение, чтобы отфильтровать элементы и предоставить только те, которые соответствуют условию. Чтобы узнать больше о списковых включениях Python, ознакомьтесь с моим подробным руководством здесь, которое также включает в себя видеообзор.

Мы можем перебирать структуру, подобную списку, и сохранять только те элементы, которые соответствуют условию. В примере ниже вы узнаете, как подсчитать количество столбцов, которые имеют суффикс ‘_mm’
# Подсчет числа столбцов в DataFrame Pandas с использованием .columns при условии
from seaborn import load_dataset
df = load_dataset('penguins')
# Подсчитываем количество столбцов, содержащих '_mm' в названии
conditional_columns = [col for col in df.columns if '_mm' in col]
num_columns = len(conditional_columns)
print(num_columns)
# Возвращает: 3
Мы видим, что проверяем, содержится ли строка '_mm'
в названии нашего столбца. Если нет, то не включаем его в наш список столбцов. Наконец, мы подсчитываем количество столбцов, соответствующих нашему условию, что возвращает значение 3.
В следующем разделе вы узнаете, как использовать атрибут .shape
библиотеки Pandas для подсчета количества столбцов в DataFrame.
Получить количество столбцов Pandas Dataframe с помощью .shape
Атрибут .shape
в Pandas — это полезный атрибут DataFrame, который позволяет увидеть количество строк и столбцов в DataFrame. **Атрибут shape возвращает кортеж значений, где первое значение — это количество строк в DataFrame, а второе значение — количество столбцов в DataFrame
Мы можем получить количество столбцов в нашем датафрейме, используя атрибут .shape
и обратившись ко второму элементу.
Прежде чем мы начнем, давайте посмотрим, что возвращает атрибут .shape
DataFrame
# Подсчет числа столбцов в DataFrame Pandas с использованием .shape
from seaborn import load_dataset
df = load_dataset('penguins')
print(df.shape)
# Возвращает: (344, 7)
Атрибут возвращает кортеж, соответствующий следующим элементам (количество строк, количество столбцов)
. Мы можем получить доступ ко второму элементу, обратившись к позиции индекса 1.
Давайте посмотрим, как это можно сделать в Pandas:
# Подсчет числа столбцов в DataFrame Pandas с использованием .shape
from seaborn import load_dataset
df = load_dataset('penguins')
num_columns = df.shape[1]
print(num_columns)
# Возвращает: 7
Здесь мы видим, что при обращении к первому элементу возвращенных данных мы получаем количество столбцов в датафрейме Pandas. В следующем разделе вы узнаете, как использовать метод Pandas .info()
для получения количества столбцов в датафрейме.
Получить количество столбцов Pandas Dataframe с помощью .info
В этом заключительном разделе вы научитесь использовать метод .info()
, чтобы получить количество столбцов в датафрейме. Этот метод работает немного иначе, чем атрибут, который вы видели в предыдущих разделах руководства. Это связано с тем, что он возвращает информацию о датафрейме в строковом формате.
Посмотрим, как это выглядит в Pandas:
# Подсчет числа столбцов в DataFrame Pandas с использованием .info()
from seaborn import load_dataset
df = load_dataset('penguins')
print(df.info())
# Возвращает:
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 344 entries, 0 to 343
# Data columns (total 7 columns):
# # Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 species 344 non-null object
# 1 island 344 non-null object
# 2 bill_length_mm 342 non-null float64
# 3 bill_depth_mm 342 non-null float64
# 4 flipper_length_mm 342 non-null float64
# 5 body_mass_g 342 non-null float64
# 6 sex 333 non-null object
# dtypes: float64(4), object(3)
# memory usage: 18.9+ KB
# None
Мы видим, что хотя предоставляется много полезной информации о самом датафрейме, включая количество столбцов, информация не является легко доступной программно. Например, мы не можем получить количество элементов без непосредственного чтения этой информации.
Заключение
В этом руководстве вы узнали, как использовать Python и Pandas для подсчета количества столбцов в датафрейме. Вы научились делать это с помощью атрибутов .columns
, .shape
и .info
. Вы освоили, как эти методы работают и какие результаты они возвращают. Вы также научились считать количество столбцов, удовлетворяющих условию, например, содержащих подстроку.
Чтобы узнать больше об атрибуте .columns
в Pandas, ознакомьтесь с официальной документацией здесь.
Last updated