白璐123

2020-12-06   阅读量: 583

Python 数据分析师

Python numpy 中拉伸的巧用,那些你不能用广播去实现的梦想。

扫码加入数据分析学习群

题目:任意二维数组的每一列减去两列的平均值

此时,当我们创建一个二维数组的时候,我们去计算列方向的平均值并不是难题,难的是,你怎么让你的二维数组去减去一个一维数组。

此时,有人会想了,用广播啊,但是python用血一样的提醒告诉你,它做不到啊。那么此时应该怎么去实现这个看似不能完成,但是看起来又很简单的梦想呢?

image.png

从这个图看看看我们梦开始的地方和被结果劝退的地方。使用广播的时候任何维度不一致,且都不为1的,不可以用广播,广播做法在此劝退你。

但是不要轻易放弃,来分析下两组数据的特征,一个10*2的二维数组,一个1*10的一维数组,我们如何能让谁去妥协下,去进行简单的四则运算呢。显而易见,对均值这个数组的加工是我们努力的方向。

此时,你可否想起了数组扩充?通过将数组转化为列表,并利用列表乘法使列表内元素加倍的特性,我们将数据变成了2*10

那么,最后一步就是.T,将2*10变成你梦寐以求的10*2 吧。


最后就是简单的数组件的四则运算,利用数组之间的运算都是元素级别的,完成人生梦想。

image.png


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
123.7990 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子