pandas.DataFrame.iterrows#

DataFrame.iterrows()[源代码][源代码]#

遍历 DataFrame 行作为 (索引, Series) 对。

Yields:
索引标签或标签的元组

行的索引。对于 MultiIndex 是一个元组。

数据系列

作为 Series 的行数据。

参见

DataFrame.itertuples

遍历 DataFrame 行作为值的命名元组。

DataFrame.items

遍历 (列名, 系列) 对。

备注

  1. 因为 iterrows 对每一行返回一个 Series,它**不**保留行间的 dtypes(dtypes 在 DataFrame 的列间保留)。

    在遍历行时保留数据类型,最好使用 itertuples() ,它返回值的命名元组,并且通常比 iterrows 更快。

  2. 你不应该 修改 你正在迭代的对象。这不能保证在所有情况下都能正常工作。根据数据类型,迭代器返回的是一个副本而不是视图,对其进行写操作将不会有任何效果。

例子

>>> 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