python的set处理二维数组转一维数组的方法示例
forsplitValueinset(dataset[:,featureIndex].tolist()):
首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重;但是set接收的函数是原生array,这个怎么办?我现在有的numpy里面的matrix;于是我查了一下,直接使用matrix.tolist(),但是发现返回值有问题:
importos os.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\\dataset") dataArr=loadDataSet("ex00.txt") dataMat=mat(dataArr) dataMat[:,0].tolist()
输出为:
[[0.036098],[0.727098],..
并不是我想要的,因为如果此时将其放于set中将会报错:
set(dataMat[:,0].tolist()) >>TypeError:unhashabletype:'list'
于是查了一下,做了调整:
importos os.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\\dataset") dataArr=loadDataSet("ex00.txt") dataMat=mat(dataArr) dataMat[:,0].A.flatten().tolist() >>[0.036098,0.712386,....
很好就是要这种一维的数组,然后再使用数组作为参数放入set中,完美。
set(dataMat[:,0].A.flatten().tolist())
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。