Python Pandas 迭代
对Pandas对象的基本迭代行为取决于其类型。当对一个系列进行迭代时,它被视为类似于数组,基本迭代会产生值。其他数据结构,如DataFrame和Panel,遵循 类似于口令的 惯例,对对象的 键 进行迭代。
简而言之,基本迭代(对于对象中的 i )产生 —
- Series — 数值
-
DataFrame – 列标签
-
Panel – 项目标签
迭代一个数据框架
迭代一个DataFrame可以得到列名。让我们考虑下面的例子来理解这一点。
其 输出 情况如下—
为了遍历DataFrame的行,我们可以使用以下函数—
- iteritems() – 遍历(key,value)对
-
iterrows() – 以(索引,系列)对的形式遍历各行
-
itertuples() – 以命名图元的形式遍历行。
iteritems()
以键、值对的形式遍历每一列,标签为键,列值为系列对象。
其 输出结果 如下 –
请注意,每一列都是作为一个系列中的键值对单独进行迭代。
iterrows()
iterrows()返回产生每个索引值的迭代器,以及包含每行数据的系列。
其 输出结果 如下 –
注意 - 因为 iterrows() 在行上迭代,所以它不保留整个行的数据类型。0,1,2是行索引,col1,col2,col3是列索引。
itertuples()
itertuples()方法将返回一个迭代器,为DataFrame的每一行产生一个命名的元组。该元组的第一个元素将是该行对应的索引值,而其余的值是该行的值。
其 输出 情况如下—
注意 - 在迭代时不要试图修改任何对象。迭代是为了阅读,迭代器返回原始对象(视图)的副本,因此变化不会反映在原始对象上。
其 输出结果 如下 –
观察,没有反映出变化。