pandas.DataFrame.iterrows#

DataFrame.iterrows()[源代码]#

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

产生:
index标签或标签元组

行的索引。对于 MultiIndex,则为元组。

dataSeries

作为 Series 的行数据。

参见

DataFrame.itertuples

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

DataFrame.items

迭代(列名,Series)对。

Notes

  1. 因为 iterrows 为每一行返回一个 Series,所以它**不会**跨行保留 dtype(DataFrame 的 dtype 是跨列保留的)。

    为了在迭代行时保留 dtype,最好使用 itertuples() ,它返回值的命名元组,并且通常比 iterrows 更快。

  2. 您**永远不应该修改**您正在迭代的内容。这不保证在所有情况下都能正常工作。根据数据类型,迭代器返回的是副本而不是视图,对其进行写入将无效。

Examples

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