近来在做数据处理的工作中,遇到了数据分类的问题,利用python的各种方便库,写了这么个以数据差值大小进行归类的方法。

应用场景:

有一批数据集,如list=[1,2,3,4,9,10,11,20,20,1,1.1,2.1,100],将其按照数值大小进行归类,即数值比较接近的归为一类,故需要先设置一个阈值,以进行划分。具体实现如下:

其中输入参数Data_set为输入的数据集,可以为列表、数组、Series、DataFrame。threshold为数据大小分类的门限值。

输出class_k为数据归类列表集合,index_list为数据归类对应的索引集合。

def threshold_cluster(Data_set,threshold):#统一格式化数据为一维数组stand_array=np.asarray(Data_set).ravel('C')stand_Data=Series(stand_array)index_list,class_k=[],[]while stand_Data.any():if len(stand_Data)==1:index_list.append(list(stand_Data.index))class_k.append(list(stand_Data))stand_Data=stand_Data.drop(stand_Data.index)else:class_data_index=stand_Data.index[0]class_data=stand_Data[class_data_index]stand_Data=stand_Data.drop(class_data_index)if (abs(stand_Data-class_data)<=threshold).any():args_data=stand_Data[abs(stand_Data-class_data)<=threshold]stand_Data=stand_Data.drop(args_data.index)index_list.append([class_data_index]+list(args_data.index))class_k.append([class_data]+list(args_data))else:index_list.append([class_data_index])class_k.append([class_data])return index_list,class_k

测试如下:

import numpy as npfrom pandas import Series,DataFrameData_set=[1,1.1,0.9,-5,2,100,99,-4.2,10000,0]index_list,class_k=threshold_cluster(Data_set,5)index_list
Out[10]: [[0, 1, 2, 4, 9], [3, 7], [5, 6], [8]]class_k
Out[11]: [[1.0, 1.1, 0.9, 2.0, 0.0], [-5.0, -4.2], [100.0, 99.0], [10000.0]]

python数据处理--按照数据差值大小进行聚类(归类)相关推荐

  1. 如何用python计算excel两行之间的差值_excel表格求两列数据差值-怎样在EXCEL表格中求两列数的差?...

    怎样在EXCEL表格中求两列数的差? 1.双击打开需行求差的Excel表格,Excel表格. 2.在进入Excel表格后,使用鼠标需差的单元格,先选中其中一行即可. 3.在选中一行后,在单元格内输入& ...

  2. Oracle数据库Timestamp数据差值计算Sql语句

    今天的工作中遇到一个问题,需要计算数据库中两个时间字段的差值,字段类型是timestamp,将字段直接相减,会得到timestamp类型的结果值,不是我想要的number类型的值.在网上找了一些方法, ...

  3. Python处理二进制数据文件(大小100M以上),逐步更新

    最近在学习Python关于二进制数据文件的读取,把最新的结果记下来,相互学习,进步 看代码: f1 = open(filepath, 'rb') file_data = f1.read() f_len ...

  4. Python数据处理Tips数据连续变量常用10种处理方法

    在日常的数据分析工作中,经常需要把数据变量转换成模型需要的样子,比如我们经常遇见的数据都是标签化.文字化等内容,需要将这些数据转换成计算机看得懂的内容,就是需要进行标签变量的转换. 不管是离散数据还是 ...

  5. 【Python数据处理】数据降维

    几种简单的数据降维方法以及demo PCA--主成分分析法 PCA是主成分分析法,为无监督的线性降维法.减去某些相对而言权重不那么高的特征. from sklearn.preprocessing im ...

  6. mysql 取差值_mysql计算两条数据差值,求大神解答

    1.创建3张表: CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `warter` int(11) DEFAULT NULL, `r ...

  7. Python数据处理Tips数据的降维的Scikit-learn的14种实现方式

    数据降维是为了减少数据的维数,俗称减少字段数(数据字段过多时候可以使用).可以减少模型计算量和模型运行时间,减少噪声变量信息对模型结果的影响,并有助于可视化降维信息并减少数据存储空间. 日常工作中遇到 ...

  8. Python数据处理Tips数据缺失值的8种常用处理方法和可视化

    在日常的数据分析工作中,数据中的缺失值是最头疼的一个内容. 在日常数据采集的过程中,由于各种原因在数据采集的过程中会造成数据的部分缺失,一般会用空格.Nan.占位符表示.但是对于应用的机器学习或者深度 ...

  9. python表示差值_python差值函数

    python可否用自定义函数对数据进行插值 除了interp函数自带的插值方式,可否用一个自定义的函数表达式对interp直接定义a=True/False就行,示例代码: #定义布尔值类型参数a,b, ...

最新文章

  1. ajax返回去掉引号,为什么我的服务器代码ajax调用返回一个用双引号括起来的响应?...
  2. SFC扫描恢复系统文件
  3. 向日葵在mac不能以服务器运行吗,mac远程桌面连接在哪?向日葵可以实现mac远程连接吗?...
  4. C# JScript.Eval使用
  5. 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4
  6. android 读取xlsx文件,android怎么解析表格.xlsx文件
  7. my questions of C#
  8. 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法...
  9. UOS开启开发者模式
  10. Oracle递归sql
  11. 简单了解TransE
  12. jdk和jre有什么区别?
  13. 小白疑问3dsmax和maya的区别有什么?大佬来给你解答
  14. 关于RAM,ROM,EEPROM,FLASH,DDR,CACHE
  15. 基于虹软人脸识别技术,实现新生实时身份认证和报到统计
  16. 16nm粒径的规则球形纳米金粒AuNPs-CPE-香兰素/Tf-金纳米海胆的制备方法
  17. 2023第八届少儿模特明星盛典 小超模李迦曈 担任全球赛小主持人
  18. java 实现 ppt或pptx文件转换PDF文件 -- poi
  19. 【Python高级编程】
  20. 计算机主机如何控制计算机室,电脑远程控制怎么弄?电脑弄远程控制功能的方法...

热门文章

  1. Search Help SE11
  2. 理解嵌入式系统中基本的语音算法
  3. svn初步安装使用(详细教程图文操作)
  4. 北京云端微服科技2017笔试题
  5. 用FPGA做一个生日礼物
  6. 复选框全部选中/全部取消
  7. Substrate 基础 -- 教程(Tutorials)
  8. 结构体类型的定义及所占内存的字节数
  9. 关于技术美术的一些个人理解
  10. kubernetes中的PV、PVC