如何对pandas DataFrame数据进行历遍迭代
时间: 2024-01-12 12:02:52 浏览: 100
在pandas中遍历DataFrame行的实现方法
在 pandas 中,可以使用以下方法对 DataFrame 进行历遍迭代:
1. `iterrows()`: 遍历 DataFrame 的每一行,返回每一行的 index 和 row 数据。
2. `itertuples()`: 遍历 DataFrame 的每一行,返回一个命名元组,元组中的每个元素对应 DataFrame 中的每一列,速度比 `iterrows()` 快。
3. `iteritems()`: 遍历 DataFrame 的每一列,返回每一列的列名和列数据。
以下是对 DataFrame 进行历遍迭代的示例代码:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 使用 iterrows() 遍历 DataFrame 的每一行
for index, row in df.iterrows():
print(f"index: {index}, row: {row}")
# 使用 itertuples() 遍历 DataFrame 的每一行
for row in df.itertuples():
print(row)
# 使用 iteritems() 遍历 DataFrame 的每一列
for column_name, column_data in df.iteritems():
print(f"column name: {column_name}, column data: {column_data}")
```
输出结果:
```
index: 0, row: A 1
B 4
C 7
Name: 0, dtype: int64
index: 1, row: A 2
B 5
C 8
Name: 1, dtype: int64
index: 2, row: A 3
B 6
C 9
Name: 2, dtype: int64
Pandas(Index=0, A=1, B=4, C=7)
Pandas(Index=1, A=2, B=5, C=8)
Pandas(Index=2, A=3, B=6, C=9)
column name: A, column data: 0 1
1 2
2 3
Name: A, dtype: int64
column name: B, column data: 0 4
1 5
2 6
Name: B, dtype: int64
column name: C, column data: 0 7
1 8
2 9
Name: C, dtype: int64
```
以上三种方法各有优缺点,根据具体情况选择使用。
阅读全文