Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python:与使用dtype = object的数组列表相比,是否有更好的方法来处理破旧数组?

Python:与使用dtype = object的数组列表相比,是否有更好的方法来处理破旧数组?
EN

Stack Overflow用户
提问于 2022-03-08 07:46:20
回答 1查看 82关注 0票数 0

我正在收集时间序列数据,这些数据可以根据特定的目标值分为“任务”。这些任务可以根据关联的目标编号。但是,与每个任务关联的数据长度将有所不同,因为完成“任务”可能需要更少的时间或更长的时间。现在,在MATLAB中,这些数据被目标号分隔成一个MATLAB单元,这非常方便,因为对这个时间序列数据的分析对于与每个目标相关的每一组数据都是相同的,因此我可以通过使用for循环来遍历单元数组中的每个单元来完成数据分析。我在Python中最接近这一点的知识是生成一个粗糙的数组。但是,通过我对回答这个问题的研究,我发现已经不推荐自动设置破旧数组,如果您想要生成一个破烂的数组,就必须设置dtype = object。关于这种情况,我有几个问题:

  1. 为衣衫褴褛的数组设置dtype=object是否带有访问数组内数据的固有限制?

  1. 是否有更方便的方法将这些粗糙的数组保存为numpy文件?除了将维数从3D降到2D之外,还保存相关索引的文件吗?这将是相当不方便的,我想,因为我有数千个文件,这些文件可以方便地保存为一个破旧的数组。

  1. 相关的是,在保存相关索引方面,将数据保存为.npz文件在实践中有什么不同吗?更具体地说,我是否能够根据每个文件的技术上独立的.npy文件自动解压这些破烂的数组,并能够假设与每个目标关联的每一组数据都以相同的方式存储在每个文件上?

  1. 最重要的是,对于我的任务来说,使用粗糙数组确实是最好的等效设置,还是因为以这种方式操作数据变得多余,Python3有更好的方法来处理不同大小的堆叠数组?

EN

回答 1

Stack Overflow用户

发布于 2022-03-23 05:50:42

我已经决定用一个已知的解决方案来解决我的问题,而且它似乎适应得很好。我将每组单独的数据组织到它自己的数组中,然后将它们存储在一个列表中,就像MATLAB中的单元格一样。为了保存此信息,当我分离出数据时,我将随后的索引值存储在一个列表中。我的意思是:

  1. I标识下一个单独数据集的位置。
  2. 将数据复制到一个数组中,直到该索引值被附加到列表中。
  3. I存储下一个单独数据集开始时的索引值。
  4. I从原始数组的副本中删除该信息。
  5. 我重复步骤1-4,直到只剩下一个唯一标记的数据序列。我附加了这组数据。没有其他索引可记录。因此,索引列表等于数组列表的长度-1.在保存数据时,我将原始数组保存到一个带有解打包indices.
  6. When的.npz文件中,并将数据重新加载到它的独立数组中进行分析,我可以将数组‘打包’和‘解压’成它的两种不同形式,从单个numpy数组到numpy数组列表。

这个解决方案效果很好。我希望这对将来的人有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71397763

复制
相关文章
如何使用ReconAIzer将OpenAI添加到Burp中
ReconAIzer是一款功能强大的Burp Suite扩展,该工具基于Jython开发,可以为Burp Stuite添加OpenAI能力,并利用OpenAI来优化和增强渗透测试过程中的网络侦查任务。该工具专为漏洞猎人和渗透测试人员设计,支持以自动化的形式执行多种网络安全任务,可以帮助广大安全研究人员以简单快速的形式识别和利用漏洞。
FB客服
2023/08/08
2990
如何使用ReconAIzer将OpenAI添加到Burp中
将下载到本地的JAR包手动添加到Maven仓库(转)
常用Maven仓库网址: http://mvnrepository.com/ http://search.maven.org/ http://repository.sonatype.org/content/groups/public/ http://people.apache.org/repo/m2-snapshot-repository/ http://people.apache.org/repo/m2-incubating-repository/
HUC思梦
2020/09/03
1.9K0
将下载到本地的JAR包手动添加到Maven仓库(转)
将Sublime添加到鼠标右键
2、找到 HKEY_CLASSES_ROOT/*/shell 目录,在此目录下操作。
新码农
2020/03/05
3K0
IntelliJ IDEA 中的版本控制介绍(中)
由于 IntelliJ IDEA 支持的版本控制工具非常的多,但咱们真正能够用到的也就两三个而已,因此在本篇博文中,咱们主要介绍 SVN、Git 和 GitHub 的配置方法。 SVN 如果想要在 I
CG国斌
2018/01/26
1K0
Winform 后台将指定的控件集合添加到制定容器中
1 /// <summary> 2 /// 把按钮按照行数分割排列 3 /// </summary> 4 /// <param name="ControlArry">按钮集合</param> 5 /// <param name="control_parent">父容器</param> 6 /// <param name="RowCount">每一行数量</param> 7 ///
FreeTimeWorker
2020/08/31
2.3K0
[Go]Golang中控制并发的sync包
Mutex:互斥锁 RWMutex:读写锁 WaitGroup:等待组 Once:单次执行 Cond:信号量 Pool:临时对象池 Map:自带锁的map
唯一Chat
2021/03/11
5650
【GIT版本控制】--什么是版本控制
版本控制是在软件开发和许多其他领域中非常重要的工具,因为它解决了许多与协作、追踪更改和管理项目相关的问题。以下是一些主要原因,解释了为什么需要版本控制:
喵叔
2023/10/06
3140
将Windows Terminal添加到鼠标右键
导读 非常实用的小技巧。 下载Windows Terminal图标,右键另存为。 [WindowsTerminal图标] 保存至'C:\Users\Administrator\AppData\Local\Terminal\Terminal.ico'。 win+R输入'regedit',打开注册表。 找到'HKEY_CLASSES_ROOT\Directory\Background\shell'目录,在此目录下操作。 新建项'wt',双击右边'默认',更改右键文字显示内容'Windows Terminal H
新码农
2020/08/05
3.6K0
将Windows Terminal添加到鼠标右键
版本控制
每次发布 Web 服务时,都会为该 Web 服务分配一个版本。版本控制使用户能够更好地管理其 Web 服务的发布,并帮助使用您的服务的人轻松找到它。
冬夜先生
2022/02/27
1.3K0
将oracle驱动包加到maven中
2、确认maven环境变量已整确(cmd 中执行 mvn -v 显示maven的版本信息);
qubianzhong
2018/08/10
5060
Nexus高级配置之如何将本地jar添加到Nexus中
Java后端技术所推送文章,为本人原创、网上收集或其他作者投稿,对于网上收集部分除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^ QQ:1573876303。
Java后端技术
2018/08/09
2.7K0
Nexus高级配置之如何将本地jar添加到Nexus中
微软计划将 ChatGPT 添加到 Bing 中,以吸引谷歌搜索用户
作者 | 褚杏娟 据彭博社报道,有知情人士透露,微软正准备将 OpenAI 的 ChatGPT 聊天机器人添加到其 Bing 搜索引擎中,以吸引竞争对手谷歌的用户。 这位知情人士表示,微软相信,对于搜索用户来说,提供更具对话性和上下文回复,可以比链接提供更好的答案,从而赢得用户。微软可能在未来几个月内推出附加功能,但现在仍在权衡聊天机器人的准确性以及将其纳入搜索引擎的速度。该知情人士表示,最初的版本可能是对一小部分用户的有限测试。 微软的 Bing 服务规模远小于 Alphabet Inc. 占主导地位的
深度学习与Python
2023/03/29
9270
微软计划将 ChatGPT 添加到 Bing 中,以吸引谷歌搜索用户
eclipse中如何删除已经添加到 Web App Libraries 中引用的jar包
在 eclipse 中的 动态web项目 中,例如:我们通过向  /bos19/WebContent/WEB-INF/lib 中添加我们需要用到的jar包,如下图所示:
黑泽君
2018/10/11
6.3K0
eclipse中如何删除已经添加到 Web App Libraries 中引用的jar包
dart - 将 orElse 函数添加到 firstWhere 方法
我正在尝试将 onElse 函数添加到 iterator.firstWhere 方法,但我无法获得正确的语法。 我试过类似的东西
徐建国
2021/08/31
1.6K0
将Emoji表情添加到项目中 顶
选择完需要的表情,点击消息预览就可以看到效果了,有一个微笑表情是QQ表情~~ 可以不用管它。
linapex
2019/03/26
1.8K0
将Emoji表情添加到项目中
                                                    顶
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
EasyNVR已经支持自定义上传音频文件,可以做慢直播场景使用,前两天有一个开发者提出一个问题:想把一个MV中的音频拿出来放到EasyNVR中去做慢直播。
EasyNVR
2021/10/28
4.1K0
如何将MV中的音频添加到EasyNVR中做直播背景音乐?
将程序添加到右键菜单快速启动
打开注册表编辑器:按下 Win + R 键,输入 regedit,然后按回车键打开注册表编辑器。
浪漫主义狗
2023/09/04
4620
将程序添加到右键菜单快速启动
PostgreSQL中的多版本并发控制-MVCC
MVCC , Multi - Version Concurrency Control , 多版本控制并发
小徐
2020/05/01
1.9K0
PostgreSQL中的多版本并发控制-MVCC
IntelliJ IDEA 中的版本控制介绍(下)
在「IntelliJ IDEA 中的版本控制介绍」中,我们已经简单了解了 IntelliJ IDEA 的版本控制机制,那么接下来,就让我们一起看看在 IntelliJ IDEA 中进行具体的版本控制操
CG国斌
2018/01/26
2K0
PostgreSQL中的多版本并发控制-MVCC
MVCC , Multi - Version Concurrency Control , 多版本控制并发
小徐
2020/05/12
1.6K0
PostgreSQL中的多版本并发控制-MVCC

相似问题

SSIS包版本控制

30

控制Python包版本

11

厨师包版本控制

30

版本控制中的Oracle包?

50

查看package.json,将版本添加到包中

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文