pandas apply中axis作用
时间: 2025-02-08 10:49:36 浏览: 31
### Pandas `apply` 函数中的 `axis` 参数解析
在 Pandas 库中,`apply` 方法允许用户将自定义函数应用于 DataFrame 或 Series 对象的不同维度。`axis` 参数决定了该方法沿哪个轴向应用函数。
#### Axis 参数的意义
- **Axis=0**: 当设置为 0 时,表示操作会沿着索引方向进行,这意味着函数会被逐列调用,在每列上执行相同的操作[^1]。
- **Axis=1**: 设置为 1 表示操作会在水平方向展开,即针对每一行来运行给定的函数。
为了更直观地展示这两种模式的区别:
```python
import pandas as pd
import numpy as np
# 创建一个简单的DataFrame实例
df = pd.DataFrame(
np.array([[1, 2], [3, 4]]),
columns=['A', 'B']
)
print("原始数据框:")
print(df)
def add_one(x):
"""简单加一函数"""
return x + 1
# 使用 apply() 并指定 axis=0 (默认行为)
result_axis_0 = df.apply(add_one, axis=0)
print("\n使用 apply(axis=0) 后的结果:")
print(result_axis_0)
# 使用 apply() 并指定 axis=1
result_axis_1 = df.apply(lambda row: sum(row), axis=1)
print("\n使用 apply(axis=1) 计算各行总和后的结果:")
print(result_axis_1)
```
上述代码片段展示了如何通过改变 `axis` 值影响 `apply()` 的工作方式。当 `axis=0` 时,整个过程相当于对各列分别加上常数;而当 `axis=1` 时,则是对每一行求和并返回一个新的序列作为结果[^2]。
阅读全文
相关推荐


















