Python NumPy/Pandas中axis=0与axis=1的区别详解

今天早睡
今天早睡
发布时间:2026-10-11| 1人浏览过
原创

在Python数据分析中,axis=0和axis=1是核心概念。axis=0代表沿行方向(跨列)操作,如计算每列均值;axis=1代表沿列方向(跨行)操作,如计算每行均值。理解这一区别对于正确执行数据聚合和列删除至关重要。

核心概念:方向与维度

在NumPy和Pandas中,axis参数用于指定操作沿哪个维度进行。理解其方向性是避免数据错误的关键:

  • axis=0(跨列/向下):代表沿着行的垂直方向执行。这意味着操作会跨越每一列,通常用于对每一列的数据进行聚合(如求和、求均值)。
  • axis=1(跨行/横向):代表沿着列的水平方向执行。这意味着操作会跨越每一行,通常用于对每一行的数据进行聚合。

具体操作示例

为了直观理解,我们可以通过具体的Pandas DataFrame操作来演示。

1. 准备数据

首先,我们创建一个包含多列数据的DataFrame:

>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], \
columns=["col1", "col2", "col3", "col4"])
>>>df
  col1 col2 col3 col4
  0   1   1   1   1
  1   2   2   2   2
  2   3   3   3   3

2. 使用 axis=1(计算行均值)

当设置 axis=1 时,函数会沿着列的方向(即横向)计算每一行的统计值。例如,计算每行的均值:

>>> df.mean(axis=1)
0  1
1  2
2  3

结果是一个Series,索引为行号,值为该行所有列的平均值。

3. 使用 axis=1(删除列)

在删除数据时,axis=1 表示针对列标签进行操作。例如,删除名为 "col4" 的列:

>>> df.drop("col4", axis=1)
  col1 col2 col3
0   1   1   1
1   2   2   2
2   3   3   3

注意,如果误将 axis 设为 0,程序会尝试删除名为 "col4" 的行索引,从而导致错误。

总结

掌握 axis=0 和 axis=1 的区别,能够帮助开发者更精准地控制数据处理的维度。简而言之:
- axis=0:向下(跨列),对每列进行操作。
- axis=1:横向(跨行),对每行进行操作。

以上就是Python中NumPy和Pandas里axis=0与axis=1区别详解的详细内容,更多关于Python数据处理技巧的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。