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

yipeiwu_com5年前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设计】。

相关文章

Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

本文实例讲述了Python基于聚类算法实现密度聚类(DBSCAN)计算。分享给大家供大家参考,具体如下: 算法思想 基于密度的聚类算法从样本密度的角度考察样本之间的可连接性,并基于可连接...

解决Python requests库编码 socks5代理的问题

解决Python requests库编码 socks5代理的问题

编码问题 response = requests.get(URL, params=params, headers=headers, timeout=10) print '...

Python使用设计模式中的责任链模式与迭代器模式的示例

Python使用设计模式中的责任链模式与迭代器模式的示例

责任链模式 责任链模式:将能处理请求的对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理请求为止,避免请求的发送者和接收者之间的耦合关系。 #encoding=utf-8...

Python单链表简单实现代码

本文实例讲述了Python单链表简单实现代码。分享给大家供大家参考,具体如下: 用Python模拟一下单链表,比较简单,初学者可以参考参考 #coding:utf-8 class N...

python基于pygame实现响应游戏中事件的方法(附源码)

python基于pygame实现响应游戏中事件的方法(附源码)

本文实例讲述了python基于pygame实现响应游戏中事件的方法。分享给大家供大家参考,具体如下: 先看一下我做的demo效果: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打...