pandas.DataFrame.iterrows
- DataFrame.iterrows()[source]
-
Итерирование по строкам DataFrame как парам (индекс, Series).
- Возвращает
-
- индекс:метка или кортеж меток
-
Индекс строки. Кортеж для MultiIndex.
- данные:Series
-
Данные строки в виде Series.
См. также
DataFrame.itertuples-
Итерирование по строкам DataFrame как именованных кортежей значений.
DataFrame.items-
Итерирование по парам (имя столбца, Series).
Примечания
-
Поскольку
iterrowsвозвращает Series для каждой строки, она не сохраняет типы данных по строкам (типы данных сохраняются по столбцам для DataFrame). Например,>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float']) >>> row = next(df.iterrows())[1] >>> row int 1.0 float 1.5 Name: 0, dtype: float64 >>> print(row['int'].dtype) float64 >>> print(df['int'].dtype) int64
Для сохранения типов данных при итерировании по строкам лучше использовать
itertuples(), которая возвращает именованные кортежи значений и которая, как правило, быстрее, чемiterrows. Вы никогда не должны изменять то, по чему итерируетесь. Это не гарантированно работает во всех случаях. В зависимости от типов данных итератор возвращает копию, а не представление, и запись в неё не окажет никакого эффекта.
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.iterrows.html