Метод items
Метод items применяется к DataFrame
и возвращает объект-генератор, позволяющий
перебрать все столбцы таблицы. На каждой
итерации генератор возвращает кортеж,
состоящий из двух элементов: имя столбца
(в виде строки) и соответствующая ему Series.
Этот метод удобно использовать в циклах
для последовательной обработки каждого
столбца таблицы.
Метод не принимает никаких параметров. Возвращаемый генератор можно использовать один раз, после чего его необходимо создавать заново для повторного обхода.
Синтаксис
df.items()
Пример
Переберём все столбцы таблицы и выведем их названия и первые значения:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
for col_name, col_data in df.items():
print(f"Column: {col_name}")
print(col_data.head(2))
print("---")
Результат выполнения кода:
Column: a
0 1
1 2
dtype: int64
---
Column: b
0 10
1 20
dtype: int64
---
Пример
Применим функцию к каждому столбцу
с помощью items и вычислим сумму
значений в каждом из них:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
for col_name, col_data in df.items():
total = col_data.sum()
print(f"Sum of column '{col_name}': {total}")
Результат выполнения кода:
Sum of column 'a': 15
Sum of column 'b': 150
Пример
Создадим новый DataFrame на основе преобразованных столбцов исходной таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
new_data = {}
for col_name, col_data in df.items():
new_data[col_name + '_squared'] = col_data ** 2
new_df = pd.DataFrame(new_data)
print(new_df)
Результат выполнения кода:
a_squared b_squared
0 1 100
1 4 400
2 9 900
3 16 1600
4 25 2500
Смотрите также
-
метод
iterrows,
который перебирает строки таблицы -
метод
itertuples,
который перебирает строки как именованные кортежи -
метод
apply,
который применяет функцию к строкам или столбцам -
метод
map,
который применяет функцию к каждому элементу