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

yipeiwu_com6年前Python基础

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Pytorch根据layers的name冻结训练方式

使用model.named_parameters()可以轻松搞定, model.cuda() # ######################################...

python多重继承新算法C3介绍

mro即 method resolution order (方法解释顺序),主要用于在多继承时判断属性的路径(来自于哪个类)。 在python2.2版本中,算法基本思想是根据每个祖先类的...

Python计算时间间隔(精确到微妙)的代码实例

Python计算时间间隔(精确到微妙)的代码实例

使用python中的datetime import datetime oldtime=datetime.datetime.now() print oldtime; x=1 while...

pytorch 转换矩阵的维数位置方法

例如: preds = to_numpy(preds)#preds是[2985x16x2] preds = preds.transpose(2, 1, 0)#preds[2x16x2...

Python作用域用法实例详解

本文实例分析了Python作用域用法。分享给大家供大家参考,具体如下: 每一个编程语言都有变量的作用域的概念,Python也不例外,以下是Python作用域的代码演示: def sc...