pandas.DataFrame.iterrows#

DataFrame.iterrows()[源代码]#

将DataFrame行作为(索引,系列)对进行迭代。

收益率
index标签或标签元组

行的索引。对象的元组 MultiIndex

data系列

以系列形式表示的行的数据。

参见

DataFrame.itertuples

将DataFrame行作为值的命名元组进行迭代。

DataFrame.items

迭代(列名,系列)对。

注意事项

  1. 因为 iterrows 为每一行返回一个系列, not 跨行保留数据类型(为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

  2. 你应该 切勿修改 你正在迭代的东西。这并不能保证在所有情况下都有效。根据数据类型的不同,迭代器返回的是副本而不是视图,写入该副本不会产生任何影响。