我将运行大量的模拟,产生大量的数据,这些数据需要在以后存储和访问。我的模拟程序的输出数据被写入文本文件(每个模拟一个)。我计划编写一个Python程序来读取这些文本文件,然后以更便于以后分析的格式存储数据。经过一段时间的搜索,我想我正遭受信息过载的困扰,所以我把这个问题放到堆栈溢出中寻求一些建议。具体情况如下:

我的数据基本上采用多维数组的形式,其中每个条目都将如下所示:data[ stringArg1, stringArg2, stringArg3, stringArg4, intArg1 ] = [ floatResult01, floatResult02, ..., floatResult12 ]

每个参数的潜在值大致如下:

字符串arg1:50

字符串arg2:20

字符串arg3:6

字符串arg4:24

图1:10000

但是请注意,数据集是稀疏的。例如,对于给定的stringArg1值,将只填充stringArg2的大约16个值。另外,对于给定的(stringArg1,stringArg2)组合,将填充大约5000个intArg1值。第3个和第4个字符串参数总是完全填充。在

因此,使用这些数字,我的数组将有大约50*16*6*24*5000=576000000个结果列表。在

我正在寻找存储这个数组的最佳方法,这样我就可以保存它并在以后重新打开它,以添加更多数据、更新现有数据或查询现有数据以进行分析。到目前为止,我已经研究了三种不同的方法:关系数据库

PyTables

使用元组作为字典键的Python字典(使用pickle保存和重新加载)

在这三种方法中我都会遇到一个问题,我总是将(stringArg1、stringArg2、stringArg3、stringArg4、intArg1)的每个元组组合存储为表中的字段,或作为Python字典中的键。从我(可能是天真的)的观点来看,这似乎没有必要。如果这些都是整型参数,那么它们只会形成数组中每个数据项的地址,就不需要在单独的字段中存储所有可能的地址组合。例如,如果我有一个2x2数组=[[100,200],[300,400]],你可以通过在地址数组[0][1]上请求值来检索值。您不需要将所有可能的地址元组(0,0)(0,1)(1,0)(1,1)存储到其他地方。所以我希望能找到一个解决这个问题的办法。在

我希望能够在PyTables中定义一个表,其中第一个表中的单元格包含其他表。例如,顶级表将有两列。第一列中的条目将是stringArg1的可能值。第二列中的每个条目都是一个表。这些子表将有两列,第一列是stringArg2的所有可能值,第二列是子表的另一列。。。在

这种解决方案将很容易浏览和查询(尤其是如果我可以使用vitalables来浏览数据)。问题是PyTables似乎不支持一个表的单元格包含其他表。所以我似乎在那里遇到了一个死胡同。在

我已经阅读了数据仓库和星型模式方法,但事实表似乎仍然需要包含每个可能的参数组合的元组。在

好吧,那就是我现在的处境。任何和所有的建议将不胜感激。在这一点上,我一直在四处寻找,以至于我的大脑受伤了。是时候请专家们想想了。在

python多维数据存储_在Python中存储和重新加载大型多维数据集相关推荐

  1. python怎么利用数据成像_使用Python对大脑成像数据进行可视化分析

    ## 简介 大脑是人类目前所知的最复杂的器官,为了很好的了解大脑这个器官,我们做了很多努力,核磁共振成像(Magnetic Resonance Image,MRI)技术就是其中的重要突破,通过MRI的 ...

  2. python获取数据库用户名密码_在数据库中存储用户和密码

    我正在创建一个用户+密码的软件.认证后,用户可以访问一些半公共服务,但也可以加密一些只有用户才能访问的文件.在 用户必须按原样存储,如有可能,无需修改.在auth之后,只要软件还在运行,用户和密码都会 ...

  3. python拦截修改数据包_会Python?那么你一定要试一试mitmproxy

    mitmproxy 是一款工具,也可以说是 python 的一个包,使用这个工具可以在命令行上进行抓包(现在也可以在web页面上查看上抓的数据包了),还可以对所抓到的包进行脚本处理,非常有用. 和 f ...

  4. python读取串口数据 绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:Anaconda3Scri ...

  5. python处理表格数据教程_利用Python处理Excel数据

    本文的数据源是朝阳医院2016的销售数据,课程是使用R语言来进行数据处理的,这里尝试采用Python来处理. 要求的业务指标是:1)月均消费次数:2)月均消费金额:3)客单价:4)消费趋势 这几个指标 ...

  6. python处理表格数据教程_用Python的pandas框架操作Excel文件中的数据教程

    引言 本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要.作为额外的福利,我将会进行一些 ...

  7. python读取raw数据文件_在python下读取并展示raw格式的图片实例

    raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件) import numpy as np import cv2 img = cv2.imread('c ...

  8. python 3d大数据可视化_基于Python的数据可视化库pyecharts介绍

    什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生 ...

  9. python对excel数据更改_利用python对excel中一列的时间数据更改格式代码示例

    本篇文章小编给大家分享一下利用python对excel中一列的时间数据更改格式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题场景:需要将 ...

最新文章

  1. MLIR中间表示和编译器框架
  2. 速度超快!字节跳动开源序列推理引擎LightSeq
  3. 看完陈皓的116篇文章,我给自己定了个5年技术规划
  4. 【洛谷 1991】 无线通讯网
  5. Java compiler level does not match解决方法
  6. CTFshow 文件上传 web157
  7. [FI] SAP 关于标准成本、计划成本、目标成本、实际成本
  8. OPenGL中的缓冲区对象
  9. Zookeeper_zkClientListener讲解
  10. nodejs计算时间间隔_nodejs 如何定时执行一个函数
  11. IIS上部署网站问题总结
  12. 空间数据挖掘常用方法及举例
  13. 75%半导体产能集中在亚洲,让美国半导体霸主地位岌岌可危
  14. 【设备管理系统】-部署到正式环境
  15. 三维电子沙盘数字沙盘开发教程第3课
  16. NumPy 数值计算基础
  17. 使用ambertool安装gmx_mmpbsa
  18. 如果大家看了我的tools专栏,里面的小工具有不少,我提炼出来给大家——调用system函数
  19. 模电数电大全百度网盘,本人亲测有效
  20. python正则表达式\d 匹配数字\D 匹配非数字\w 匹配单词\W 匹配非单词字符

热门文章

  1. VTK修炼之道80:VTK开发基础_智能指针与引用计数
  2. 仔细想了想支持向量机(Support Vector Mechine)
  3. [OS复习]虚拟存储管理技术2
  4. javascript中的事件处理
  5. ARP协议抓包分析 -- wireshark
  6. python_文件处理
  7. Java中的全局变量和局部变量——简单区别
  8. Cordova环境搭建
  9. 王爽汇编语言实验7一个很好的解法(转)
  10. 第15章习题解答(二)——《x86汇编语言:从实模式到保护模式》读书笔记41