DataFrame.items() / Series.items()

Метод items() возвращает итератор:

  • для DataFrame — по парам (column_name, Series) (то есть столбец за столбцом);

  • для Series — по парам (index_label, value) (аналог dict.items()).

Сигнатура

DataFrame.items()
Series.items()

Параметры

Метод не принимает параметров.

Возвращаемое значение

Генератор кортежей. Можно использовать в for-цикле или преобразовать в list/dict.

Примеры

Пример 1. Обход столбцов DataFrame

import pandas as pd

df = pd.DataFrame({"temp": [22, 23], "humidity": [55, 60]})
for name, col in df.items():
    print(name, "->", col.tolist())
temp -> [22, 23]
humidity -> [55, 60]

Пример 2. Обход Series

import pandas as pd

s = pd.Series([22.1, 22.5, 22.8], index=["t0", "t1", "t2"])
for label, value in s.items():
    print(label, value)
t0 22.1
t1 22.5
t2 22.8

Пример 3. Сбор статистики по столбцам

import pandas as pd

df = pd.DataFrame({"a": [1, 2, 3], "b": [10, 20, 30]})
stats = {name: col.mean() for name, col in df.items()}
print(stats)
{'a': 2.0, 'b': 20.0}

Пример 4. Преобразование Series в словарь

import pandas as pd

cfg = pd.Series({"pin_led": 13, "pin_btn": 2, "baudrate": 9600})
print(dict(cfg.items()))
{'pin_led': 13, 'pin_btn': 2, 'baudrate': 9600}

Пример 5. Поиск проблемного столбца

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "ok":  [1, 2, 3],
    "bad": [1.0, np.nan, 3.0],
})
for name, col in df.items():
    if col.isna().any():
        print("есть NaN в", name)
есть NaN в bad

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.