欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python的set处理二维数组转一维数组的方法示例

程序员文章站 2022-07-22 17:42:52
for splitvalue in set(dataset[:, featureindex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使...

for splitvalue in set(dataset[:, featureindex].tolist()):

首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重;但是set接收的函数是原生array,这个怎么办?我现在有的numpy里面的matrix;于是我查了一下,直接使用matrix.tolist(),但是发现返回值有问题:

import os

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: unhashable type: 'list'

于是查了一下,做了调整:

import os

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())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。