pandas.DataFrame.iterrows#

DataFrame.iterrows()[源]#

将 DataFrame 行迭代为(索引,Series)对。

产生:
index标签或标签元组

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

dataSeries

行的数据,表示为 Series。

另请参阅

DataFrame.itertuples

将 DataFrame 行迭代为命名元组。

DataFrame.items

迭代(列名,Series)对。

注意

  1. 由于 iterrows 为每一行返回一个 Series,因此它 **不会** 在行之间保留 dtype(DataFrame 的 dtype 是在列之间保留的)。

    为了在迭代行时保留 dtype,最好使用 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