numpy axis概念整理筆記

本文通过一个3x3的numpy数组实例,详细解释了numpy中axis的概念。介绍了axis在数组索引和操作中的作用,如ndarray.sum(axis=1)如何进行轴向求和。同时,对比了在pandas DataFrame中apply函数使用axis参数时,如何分别对行(axis=0)和列(axis=1)应用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理一下numpy和pandas中 axis(軸)的概念
以一個3x3 numpy array當做範例
ndarray = numpy.arange(1,10).reshape(3,3)
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
axis(軸)的基本示意圖:
这里写图片描述
这里写图片描述
ndarray[0] 表示取軸0的第0項,也就是ndarray[0][:] 取軸0第一項然後對應的軸1每項都要
这里写图片描述
ndarray[0][1] 表示先選取軸0的第0項,接著再對應取軸1的第1項这里写图片描述
ndarray[:][0:2] 表示軸0的項目全部都要,但只取每一項的軸1的0到1項
这里写图片描述
ndarray.sum(axis = 1) -> array([ 6, 15, 24])
表示將軸1的各項相加,但不將軸0合併(合併了軸0就等於一般ndarray.sum()的結果了),也就是軸0的各項分別各自將其軸1各項相加(每列各自將其對應軸0各項相加)
这里写图片描述
在pandas的函式中 axis參數的使用
先建立一個DataFrame及需要用到的lambda函式
frame2 = DataFrame(np.arange(1,10).reshape(3, 3), columns = list((0,1,2)), index = list((0,1,2)))
这里写图片描述
frame2.apply(f, axis = 0) 表示將函式應用到軸0,
以範例而言就是從軸0各項中取最大項減最小項,不合併軸1 (每行各自從其對應軸0各項中取max減min)
这里写图片描述
这里写图片描述
frame2.apply(f, axis = 1) 表示將函式應用到軸1,
也就是每列各自從其對應軸1各項取max減min
这里写图片描述
这里写图片描述
转载地址http://changtw-blog.logdown.com/posts/895468-python-numpy-axis-concept-organize-notes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值