Python中axis=0与axis=1的方向差异详解

火柴先生 2025-01-17 10:57:02编程技术
1048

Python 是一种广泛使用的编程语言,尤其在数据科学和机器学习领域有着重要的地位。在处理数据时,经常需要对数组或矩阵进行各种操作,如求和、求平均值等。这些操作通常涉及到 axis 参数的使用。axis=0 和 axis=1 是两个常见的参数值,它们分别表示沿着数组的不同方向进行操作。本文将详细解释 axis=0 和 axis=1 的方向差异,帮助读者更好地理解和应用这些参数。

axis=0 和 axis=1 分别是 Pandas 中两个非常常见的参数。它们用于指定操作的方向,即按行还是按列进行操作。具体来说:

axis=0 表示按照行的方向(从上到下)进行操作,也就是对每一列进行操作。

axis=1 表示按照列的方向进行操作,也就是对每一行进行操作。

以下面的数据框为例:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)

输出:

Python中axis=0与axis=1的方向差异详解

1. axis=0

假设我们想要计算每一列的均值。这时候就需要用到 axis=0 参数。

mean_by_column = df.mean(axis=0)
print(mean_by_column)

输出:

Python中axis=0与axis=1的方向差异详解

可以看到,mean() 方法默认按照 axis=0 方向计算每一列的均值。

2. axis=1

假设我们想要计算每一行的均值。这时候就需要用到 axis=1 参数。

mean_by_row = df.mean(axis=1)
print(mean_by_row)

输出:

Python中axis=0与axis=1的方向差异详解

可以看到,mean() 方法按照 axis=1 方向计算每一行的均值。

附:axis=0 与 axis=1 的区分

官方帮助的解释:

轴用来为超过一维数组定义的属性,二维数据拥有两个轴:第0轴沿着行的方向垂直向下,第1轴沿着列的方向水平延申。

根据官方的说法,1表示横轴,方向从左到右;0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,体现出列的增加或者减少。反之,当axis=0时,数组的变化是纵向的,体现出行的增加或减少。

下图为dataframe中axis为0和1时的图示:

实例:

df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]],
                  columns=['col0','col1','col2','col3'])
>>>df

Python中axis=0与axis=1的方向差异详解

df.mean(axis=1)
>>>
0    1.0
1    2.0
2    3.0
dtype: float64
 
df.mean(axis=0)
>>>
col0    2.0
col1    2.0
col2    2.0
col3    2.0
dtype: float64
 
df.drop('col2',axis=1)
>>>

Python中axis=0与axis=1的方向差异详解

df.drop(0,axis=0)
>>>

Python中axis=0与axis=1的方向差异详解

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

所以,axis的重点在于方向,而不是行和列,具体体现到各种用法也是如此。

总结

在 Pandas 中,许多方法都会有 axis 参数。这个参数用于指定操作的方向。需要根据具体需求选择合适的方向,才能得到正确的结果。通常来说,axis=0 表示对列进行操作,axis=1 表示对行进行操作。

通过本文的介绍,我们详细了解了 axis=0 和 axis=1 在 Python 数据操作中的方向差异。axis=0 表示沿着列的方向进行操作,而 axis=1 表示沿着行的方向进行操作。理解这两个参数的方向差异,对于正确地进行数据处理和分析至关重要。掌握这些知识,将有助于开发者编写更高效、准确的代码,提升数据处理的效率和质量。希望本文的内容对您有所帮助,让您在 Python 数据处理中更加得心应手。

Python axis
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

Python yield 用法大全:轻松掌握生成器与迭代器设计
在Python中,yield关键字是构建生成器的核心工具,它通过状态保存机制实现了高效的内存管理和惰性计算。与传统的迭代器实现相比,yield能将迭代器设计从复杂的类定义简化为直...
2025-09-15 编程技术
1207

基于Python的旅游数据分析可视化系统【2026最新】
本研究成功开发了基于Python+Django+Vue+MySQL的旅游数据分析可视化系统,实现了从数据采集到可视化展示的全流程管理。系统采用前后端分离架构,前端通过Vue框架构建响应式界...
2025-09-13 编程技术
1152

手把手教你用Python读取txt文件:从基础到实战的完整教程
Python作为数据处理的利器,文件读写是其基础核心功能。掌握txt文件读取不仅能处理日志、配置文件等常见场景,更是理解Python文件I/O的基石。本文ZHANID工具网将从基础语法到...
2025-09-12 编程技术
1069

Python Flask 入门指南:从零开始搭建你的第一个 Web 应用
Flask作为 Python 中最轻量级且灵活的 Web 框架之一,特别适合初学者快速上手 Web 应用开发。本文将带你一步步了解如何在本地环境中安装 Flask、创建一个简单的 Web 应用,并...
2025-09-11 编程技术
1011

Python 如何调用 MediaPipe?详细安装与使用指南
MediaPipe 是 Google 开发的跨平台机器学习框架,支持实时处理视觉、音频和文本数据。本文脚本之家将系统讲解 Python 环境下 MediaPipe 的安装、配置及核心功能调用方法,涵盖...
2025-09-10 编程技术
1082

基于Python开发一个利率计算器的思路及示例代码
利率计算是金融领域的基础需求,涵盖贷款利息、存款收益、投资回报等场景。传统计算依赖手工公式或Excel表格,存在效率低、易出错等问题。Python凭借其简洁的语法和强大的数学...
2025-09-09 编程技术
1097