环境:python 3.6 + win10
IDE: pycharm community 2017.3
问题分析:在进行对相关系矩阵进行归一化时,出错,TypeError: cannot perform reduce with flexible type,
<<print(a.dtype)
<< <U9
**重点是 ndarray(即多维数组)要求所有的数据类型是一样的,否则就error。
百度搜索发现是 导入的数据。我们的本意是希望它们是整数,但实际上是却是浮点数(float64)
reference: http://www.cnblogs.com/hhh5460/p/5129032.html
需要 用 astype(int) 得到整数,并且不改变数组长度
我打印出list,发现list中有字符串和空值,感觉这也是出错的原因,后来证实感觉是对的。
解决办法:
1.数据处理
在CSV文件中删除字符串(即title);
在代码中,执行 del list[26900]
2.语法纠错
<< c = b.astype(int) (加上此句)
结果输出正确。
总结:调试bug,要逐步打印,逐步探究是哪里的问题,我发现是我从CSV文件读取到list中的文件有字符串(csv文件中的title)和空值(不知为何会被读取),其余全部为数字(共120万个)