问题重现:
一般来说,我们习惯将数据直接保存到集合中,例如用python绘制各种折线图的时候,但是如果后续想再对他们进行计算的时候,例如将两个集合对应相乘再求和,就会出现一些小问题,如图:
问题很小,很容易解决。
问题根源:
不能直接将列表和列表进行相乘,因为他们不是数字类型的,所以想要对他们进行计算,只需要将他们转换成数组即可。
解决办法:
使用np.multiply函数将集合转换成数组。
import numpy as np
a = [1, 2, -2, 4, 2, 3, 1, 0]
b = [2, 3, -2, 3, 2, 4, 1, -1]
corr_ab = np.multiply(np.array(a), np.array(b))
corr_ac = np.multiply(np.array(a), np.array(c))
print(corr_ab)
print(corr_ac)
但是到后来小白突然又发现,np.multiply这个函数能自动将集合准换成数组,所以无需加上np.array()对集合进行转换,所以最终代码为:
import numpy as np
a = [1, 2, -2, 4, 2, 3, 1, 0]
b = [2, 3, -2, 3, 2, 4, 1, -1]
corr_ab = np.multiply(a, b)
corr_ac = np.multiply(a, c)
print(corr_ab)
print(corr_ac)
最终两个集合相乘的结果仍会以数组的形式存在,想要求和,只需要在得到的数组上再使用一个sum函数即可。
基础不牢,地动山摇;
在此分享,共同进步。
版权声明:本文为m0_58405041原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。