问题

假如数据集有3类,怎么把一个庞大的数组集3类,放在不同的数组里。

分析

首先庞大数据集分类,肯定不能一个一个遍历,而且强烈避免个人的操作,需要借助于numpy处理。

示例

数据集,可以看出数据集为3类,我们要x也分成3类

x = [[1,2],[2,9],[3,9],[4,4],[5,9],[6,6],[7,7],[8,8],[9,9]]
y = [0, 0, 0, 1, 1, 1, 2, 2, 2]

先转化为numpy

x = np.array([[1,2],[2,9],[3,9],[4,4],[5,9],[6,6],[7,7],[8,8],[9,9]])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])
x
array([[1, 2],[2, 9],[3, 9],[4, 4],[5, 9],[6, 6],[7, 7],[8, 8],[9, 9]])y
array([0, 0, 0, 1, 1, 1, 2, 2, 2])

得到每个类别在y中的标记,也可以说是在x中的标记,value是指类别的名称或者ID,3个类别得到3个标记数组

labels = [y == value for value in range(3)]
print(labels)
[array([ True,  True,  True, False, False, False, False, False, False]),
array([False, False, False,  True,  True,  True, False, False, False]),
array([False, False, False, False, False, False,  True,  True,  True])]

根据标记数组得到,对应x中的3组数据,记住这里应该是x的row=mask的column,假如x是一维的,x的column=mask的column也可以自适应。

t = [x[ci] for ci in labels]
print(t)
[array([[1, 2],[2, 9],[3, 9]]),
array([[4, 4],[5, 9],[6, 6]]),
array([[7, 7],[8, 8],[9, 9]])]#%%
# 假如x是一维的,x的column=mask的column也可以自适应。
t1 = [y.T[ci] for ci in labels]
print(t1)
t2 = [y[ci] for ci in labels]
print(t2)
[array([0, 0, 0]), array([1, 1, 1]), array([2, 2, 2])]
[array([0, 0, 0]), array([1, 1, 1]), array([2, 2, 2])]

以上都是numpy内部的函数处理快。

数据预处理:原始数据集快速分类的方法,numpy的使用技巧,数据的row=mask的column相关推荐

  1. R语言使用vtreat包的designTreatmentsC函数构建数据预处理计划、vetreat包的score frame(新生成数据变量的指南)、以及score frame字段说明

    R语言使用vtreat包的designTreatmentsC函数构建数据预处理计划.vetreat包的score frame(新生成数据变量的指南).以及score frame字段说明 目录

  2. R语言vtreat包自动处理dataframe的缺失值并生成对应的数据列_isbad来指示数据的原始缺失情况、查看特定字段缺失的那些数据行、查看数据集中多个字段的均值

    R语言vtreat包自动处理dataframe的缺失值并生成对应的数据列_isbad来指示数据的原始缺失情况.查看特定字段缺失的那些数据行(包括原始dataframe数据以及vtreat包自动处理da ...

  3. 【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址

    数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介. 数 ...

  4. python数据预处理的代码_【Python基础系列】常见的数据预处理方法(附代码)

    ↑↑↑点击上方蓝字,回复资料,嘿嘿,10个G的惊喜 本文简单介绍python中一些常见的数据预处理,包括数据加载.缺失值处理.异常值处理.描述性变量转换为数值型.训练集测试集划分.数据规范化. 1. ...

  5. eviews如何处理缺失数据填补_python数据预处理之异常值、缺失值处理方法

    数据预处理是明确分析目标与思路之后进行数据分析的第一步,也是整个项目中最基础.花费时间较长的工作.除了互联网埋点的数据或企业内部的业务数据之外,往往我们拿到的,比如说网上采集的数据并不是那样规整,这类 ...

  6. 【地图匹配(ST-matching)】GPS 轨迹数据预处理——T-Driver数据集【持续更新中】

    一.数据介绍 1.数据链接 https://download.csdn.net/download/skyman30/87432266?spm=1001.2014.3001.5503https://do ...

  7. hive 分区表select全部数据_Hive中如何快速的复制一张分区表(包括数据)

    关键字:Hive 复制表 Hive中有时候会遇到复制表的需求,复制表指的是复制表结构和数据. 如果是针对非分区表,那很简单,可以使用CREATE TABLE new_table AS SELECT * ...

  8. 大数据学习,Scala快速学习的方法

    大数据学习过程中,都会学习Scala,众所周知,Spark支持4门语言,分别为R.Python.Java与Scala,但真正的底层实现语言则是Scala.在我以往的实践分享中,除了Python,我还会 ...

  9. 小菊的语义分割3——数据预处理及像素级分类实现原理

    小菊的语义分割3

最新文章

  1. python常见的数据类型_Python常见数据类型及操作
  2. LintCode 402: Continuous Subarray Sum
  3. 所有配置_Springboot 打印所有配置
  4. 论文浅尝 | 从树结构的长短期记忆网络改进语义表示
  5. 【学习笔记】路由算法与路由协议:RIP协议与距离向量算法、OSPF协议与链路状态算法、BGP协议
  6. Educational Codeforces Round 25 E. Minimal Labelshdu1258
  7. Hibernate面试题收藏
  8. Java判断文件编码格式
  9. 【渝粤教育】广东开放大学 hadoop数据管理 形成性考核
  10. 【视频开发】【Live555】摄像头采集,264编码,live555直播
  11. 5个AIDA64激活密钥
  12. 【通俗易懂的通信】贝叶斯公式 全概率公式 及其理解
  13. Stripe支付流程
  14. FTP网络服务器 Xlight+FlashFXP
  15. Java 代理使用详解
  16. Android实现视频播放的3种实现方式
  17. redis挂机问题搜查纪录
  18. 【深度学习】模型部署的错误整理
  19. jzoj4668. 腐败(数论)
  20. html仿app开始广告,广告编写.html

热门文章

  1. dhcp怎么开启 linux,怎么开启DHCP服务器啊
  2. deebot扫地机器人怎么清洁_智能清洁小助手开始工作 360扫地机器人S7评测
  3. python要配置几个环境变量_Python环境变量配置
  4. java接口配置文件_Java读取property配置文件,另接口的配置
  5. 【流媒体服务器的搭建】2. 源码编译安装ffmpeg
  6. bat/cmd 抛出错误码和捕获错误
  7. hive能加快MySQL查询速度吗_建立索引可以加快表中数据查询的速度吗
  8. jvm学习笔记(二)
  9. graphpad如何做x轴在上方的图_数据分析最有用的25个 Matplotlib图
  10. php函数删除非空目录,删除文件夹(非空目录)及其中所有文件的思路及源代码