Python进阶学习:axis=0和axis=1的区别和用法

Python进阶学习:axis=0和axis=1的区别和用法

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化Python基础【高质量合集】PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🚀一、引言

  在Python的数据处理领域中,NumPy和Pandas是两个不可或缺的工具。它们提供了丰富的函数和方法来处理数组和数据框,其中axis参数是一个经常出现的概念。axis参数用于指定操作的维度方向,其中axis=0axis=1是最常用的两个选项。那么,axis=0axis=1究竟有什么区别呢?它们在不同情境下又有哪些用法呢?本文将详细解析这些问题,并通过代码示例帮助你更好地理解和应用。

📚二、axis=0和axis=1的基本概念

  在NumPy和Pandas中,axis参数用于指定数据操作的维度方向。axis=0表示沿着行的方向进行操作,而axis=1表示沿着列的方向进行操作。具体来说,axis=0对应于垂直方向(从上到下),而axis=1对应于水平方向(从左到右)。

💡三、axis=0和axis=1在NumPy中的区别

  在NumPy中,axis=0axis=1通常用于指定函数操作的维度。例如,numpy.sum()函数用于计算数组元素的和,通过指定axis参数,可以沿着不同的维度方向进行求和操作。

  • axis=0时,numpy.sum()函数会沿着行的方向计算每一列的和,返回一个形状减少一维的数组。
  • axis=1时,numpy.sum()函数会沿着列的方向计算每一行的和,返回一个形状减少一维的数组。

以下是一个NumPy中axis=0axis=1的示例代码:

import numpy as np

# 创建一个3x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)

# 沿着行的方向(axis=0)求和
sum_axis0 = np.sum(arr, axis=0)
print("沿着行的方向求和:", sum_axis0)  # 输出: [12 15 18]

# 沿着列的方向(axis=1)求和
sum_axis1 = np.sum(arr, axis=1)
print("沿着列的方向求和:", sum_axis1)  # 输出: [ 6 15 24]

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
沿着行的方向求和: [12 15 18]
沿着列的方向求和: [ 6 15 24]

在这个示例中,

  • np.sum(arr, axis=0)计算了每一列的和(沿着行的方向求和),返回了一个形状为(3,)的一维数组[12, 15, 18]
  • np.sum(arr, axis=1)计算了每一行的和(沿着列的方向求和),返回了一个形状为(3,)的一维数组[6, 15, 24]

🔍四、axis=0和axis=1在Pandas中的区别

  在Pandas中,axis=0axis=1同样用于指定函数操作的维度,但应用于DataFrame对象时,它们的意义略有不同。

  • axis=0时,大多数Pandas函数会沿着行的方向进行操作,即对数据框的行进行操作。例如,df.sum(axis=0)会计算每一列的和。
  • axis=1时,函数会沿着列的方向进行操作,即对数据框的列进行操作。例如,df.sum(axis=1)会计算每一行的和。

以下是一个Pandas中axis=0axis=1的示例代码:

import pandas as pd

# 创建一个简单的DataFrame
df = pd.DataFrame({
    'A': [1, 4, 7],
    'B': [2, 5, 8],
    'C': [3, 6, 9]
})

# 沿着行的方向(axis=0)求和
sum_axis0 = df.sum(axis=0)
print("沿着行的方向求和:", sum_axis0)

# 沿着列的方向(axis=1)求和
sum_axis1 = df.sum(axis=1)
print("沿着列的方向求和:", sum_axis1)

输出:

沿着行的方向求和: A    12
B    15
C    18
dtype: int64
沿着列的方向求和: 0     6
1    15
2    24
dtype: int64

在这个示例中:

  • df.sum(axis=0)计算了每一列的和(沿着行的方向求和),返回了一个Series对象,其中索引是列名,值是每一列的和。
  • df.sum(axis=1)计算了每一行的和(沿着列的方向求和),同样返回了一个Series对象,其中索引是行标签,值是每一行的和。

🌈五、实际应用场景举例

axis=0axis=1在数据处理中有着广泛的应用。以下是一些实际的应用场景举例:

  1. 数据聚合:在计算数据的统计量(如总和、平均值、标准差等)时,axis=0axis=1可以用于指定聚合的维度。
  2. 数据重塑:在使用reshape等函数时,axis参数用于指定数据重塑的方向。
  3. 数据筛选:在使用filter函数筛选数据时,可以通过axis参数指定筛选的行或列。
  4. 数据排序:在使用sort_values函数对数据进行排序时,axis参数用于指定排序的维度。

🚀六、总结

  通过本文的详细解析和代码示例,相信你对axis=0axis=1的区别和用法有了更深入的理解。无论是在NumPy还是Pandas中,axis参数都是一个非常重要的概念,它帮助我们指定数据操作的维度方向。掌握axis=0axis=1的区别和用法,将为你在Python数据处理领域中提供更强大的武器。

🤝七、期待与你共同进步

  🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏

  🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟

  📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬

  💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉

  🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高斯小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值