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

yipeiwu_com7年前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 Pandas库基础分析之时间序列的处理详解

前言 在使用Python进行数据分析时,经常会遇到时间日期格式处理和转换,特别是分析和挖掘与时间相关的数据,比如量化交易就是从历史数据中寻找股价的变化规律。Python中自带的处理时间的...

python中PS 图像调整算法原理之亮度调整

亮度调整 非线性亮度调整: 对于R,G,B三个通道,每个通道增加相同的增量。 线性亮度调整: 利用HSL颜色空间,通过只对其L(亮度)部分调整,可达到图像亮度的线性调整。但是,RGB和H...

使用Python写一个量化股票提醒系统

使用Python写一个量化股票提醒系统

大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python由Guido van Rossum于1989年底...

使用pip发布Python程序的方法步骤

使用pip发布Python程序的方法步骤

写过 Python 程序的小伙伴们都知道,需要 import 个非 Python 自带的软件包时,都要用到 pip 这个程序。平时我们都是用 pip,如果我们写好了一个程序,想让大家都能...

Python实现的数据结构与算法之队列详解

Python实现的数据结构与算法之队列详解

本文实例讲述了Python实现的数据结构与算法之队列。分享给大家供大家参考。具体分析如下: 一、概述 队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear...