pands apply函数内部 i递增怎么写
时间: 2024-04-30 07:24:21 浏览: 70
PandS
在 Pandas 的 `apply` 函数中,我们可以通过传递 `axis` 参数来指定应用函数的方向,如果 `axis=0`,则函数将应用于每个列,如果 `axis=1`,则函数将应用于每个行。在函数内部,我们可以使用 `iterrows()` 或 `itertuples()` 方法来遍历行并访问每个值。在这些迭代器中,我们可以使用 `index` 属性来访问行的索引,使用 `iloc` 属性来访问行的值。在函数中,我们可以使用 `i` 来追踪当前行的索引,可以通过 `i += 1` 来递增索引值。例如:
``` python
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
def my_func(row):
global i
print("Processing row", i, "with values", row)
i += 1
return row['a'] + row['b']
i = 0
result = df.apply(my_func, axis=1)
print(result)
```
输出:
```
Processing row 0 with values a 1
b 4
Name: 0, dtype: int64
Processing row 1 with values a 2
b 5
Name: 1, dtype: int64
Processing row 2 with values a 3
b 6
Name: 2, dtype: int64
0 5
1 7
2 9
dtype: int64
```
阅读全文