Python中的np

[array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]]),
array([[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]]),
array([[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]]),
array([[30, 31, 32, 33, 34],
[35, 36, 37, 38, 39]])]
‘’’


**axis=1的结果**



a=np.arange(40).reshape(5,8)
np.split(a,4,axis=1)
‘’’
[array([[ 0, 1],
[ 8, 9],
[16, 17],
[24, 25],
[32, 33]]),
array([[ 2, 3],
[10, 11],
[18, 19],
[26, 27],
[34, 35]]),
array([[ 4, 5],
[12, 13],
[20, 21],
[28, 29],
[36, 37]]),
array([[ 6, 7],
[14, 15],
[22, 23],
[30, 31],
[38, 39]])]
‘’’


接下来的nd.split的用法跟np.split虽然用法很像,还是存在一些区别需要注意。


还是贴下nd.split的方法:



def split(data=None, num_outputs=_Null, axis=_Null, squeeze_axis=_Null, out=None, name=None, **kwargs):
return (0,)


**跟np.split的区别就是必须指定axis,不然会报错。**



from mxnet import nd

a=nd.arange(40).reshape(8,5)
nd.split(a,4,axis=0)

‘’’
[
[[0. 1. 2. 3. 4.]
[5. 6. 7. 8. 9.]]
<NDArray 2x5 @cpu(0)>,

[[10. 11. 12. 13. 14.]
[15. 16. 17. 18. 19.]]
<NDArray 2x5 @cpu(0)>,

[[20. 21. 22. 23. 24.]
[25. 26. 27. 28. 29.]]
<NDArray 2x5 @cpu(0)>,

[[30. 31. 32. 33. 34.]
[35. 36. 37. 38. 39.]]
<NDArray 2x5 @cpu(0)>]
‘’’


**三维的例子亦如是,如:切分第二维切4份**



a=nd.arange(40).reshape(2,4,5)
nd.split(a,4,axis=1)
‘’’
[
[[[ 0. 1. 2. 3. 4.]]

[[20. 21. 22. 23. 24.]]]
<NDArray 2x1x5 @cpu(0)>,

[[[ 5. 6. 7. 8. 9.]]

[[25. 26. 27. 28. 29.]]]
<NDArray 2x1x5 @cpu(0)>,

[[[10. 11. 12. 13. 14.]]

[[30. 31. 32. 33. 34.]]]
<NDArray 2x1x5 @cpu(0)>,

[[[15. 16. 17. 18. 19.]]

[[35. 36. 37. 38. 39.]]]
<NDArray 2x1x5 @cpu(0)>]
‘’’


每个元素的形状是nd.split(a,4,axis=1)[1].shape #(2,1,5)


除了参数名称不一样,个数也不一样,比如squeeze\_axis这个新增的参数,可以减掉一维。



a=nd.arange(40).reshape(2,4,5)
nd.split(a,2,axis=0,squeeze_axis=1)
‘’’
[
[[ 0. 1. 2. 3. 4.]
[ 5. 6. 7. 8. 9.]
[10. 11. 12. 13. 14.]
[15. 16. 17. 18. 19.]]
<NDArray 4x5 @cpu(0)>,

[[20. 21. 22. 23. 24.]
[25. 26. 27. 28. 29.]
[30. 31. 32. 33. 34.]
[35. 36. 37. 38. 39.]]
<NDArray 4x5 @cpu(0)>]
‘’’


看出有什么不同了吗?少了一维,本来里面每个元素是 <NDArray 1x4x5 @cpu(0)>,现在变为 <NDArray 4x5 @cpu(0)>  
 再看一例:



a=nd.arange(40).reshape(2,4,5)
nd.split(a,4,axis=1,squeeze_axis=1)
‘’’
[
[[ 0. 1. 2. 3. 4.]
[20. 21. 22. 23. 24.]]
<NDArray 2x5 @cpu(0)>,

[[ 5. 6. 7. 8. 9.]
[25. 26. 27. 28. 29.]]
<NDArray 2x5 @cpu(0)>,

[[10. 11. 12. 13. 14.]
[30. 31. 32. 33. 34.]]
<NDArray 2x5 @cpu(0)>,

[[15. 16. 17. 18. 19.]
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值