pandas.DataFrame.iterrows
-
DataFrame.iterrows(self)[source] -
Итерация по строкам DataFrame в виде пар (индекс, Series).
Возвращает: -
index : label or tuple of label -
Индекс строки. Кортеж для
MultiIndex. -
data : Series -
Данные строки в виде Series.
-
it : generator -
Генератор, который итерируется по строкам фрейма.
См. также
-
itertuples - Итерирование по строкам DataFrame как именованных кортежей значений.
-
items - Итерирование по парам (имя столбца, Series).
Примечания
-
Так как
iterrowsвозвращает Series для каждой строки, типы данных (dtypes) не сохраняются по строкам (dtypes сохраняются по столбцам для DataFrames). Например,>>> 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–2012, 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/0.25.0/reference/api/pandas.DataFrame.iterrows.html