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.