2016-11-22 142 views
0

我需要在很多文件上运行脚本。我试图建立一个数据库,所以我不必再次重做计算。现在,我使用JSON转储到输出的每个文件的结果包含字典如下一个txt:在python中处理字典的最佳方式是什么?

{"ARG": [98.1704330444336, 41.769107818603516, 73.10748291015625, 45.386558532714844, 66.13928985595703, 170.6997833251953, 181.3068084716797, 163.4752960205078, 105.4854507446289], "LEU": [28.727693557739258, 37.46043014526367, 13.47089672088623, 53.70556640625, 4.947306156158447, 0.17834201455116272], "ASP": [], "THR": [82.61577606201172, 66.58378601074219], "ILE": [114.99510192871094, 0.0, 41.7198600769043], "CYS": [], "LYS": [132.67730712890625, 34.025794982910156, 116.17617797851562, 95.01632690429688], "PHE": [2.027207136154175, 14.673666000366211, 33.46115493774414], "VAL": [], "SER": [87.324462890625, 100.39542388916016, 20.75590705871582, 49.42512893676758], "ASN": [115.7877197265625, 68.15550994873047, 79.04554748535156, 62.12760543823242], "MET": [], "TRP": [5.433267593383789], "GLN": [103.35163879394531, 12.17470932006836, 83.19425201416016, 81.73150634765625, 31.622051239013672], "PRO": [116.5839614868164], "TYR": [143.76821899414062], "GLU": [32.767948150634766, 112.40697479248047, 151.73361206054688, 53.77445602416992, 137.96853637695312, 137.53512573242188], "ALA": [81.7466812133789, 59.530941009521484, 30.13962173461914, 88.2237319946289], "GLY": [68.45809936523438], "HIS": []} 

我可以重新载入字典使用JSON负载。我想知道处理数据的最佳方法是什么,知道我将使用所有这些txt文件将它们加入到一个巨大的字典中。所有字典中的键都是相同的。我会尝试将所有这些“列表”值附加到一个大列表中作为每个键的值。我会做一些数学运算,加法,除法,绘制直方图,聚类,等等。

我想知道你会怎么做,如果我上面描述的将是低效率或计算昂贵的数据将是巨大的。

+2

你有没有看着NoSQL数据库读? https://en.wikipedia.org/wiki/NoSQL#Types_and_examples_of_NoSQL_databases – bslawski

+0

你的问题应该提到,总共只有20个(左右)的键;不是每个人都使用生物数据。 :) –

+0

对不起。是的,字典将始终有20个氨基酸密钥。我上面发布了一个完整的词典。 –

回答

0

一如既往取决于。如果您确定会有大量数据,您可以考虑使用pandas库for python(http://pandas.pydata.org/)。

它是一个非常强大的数据分析库,它使您能够直接对其数据类型进行加法,除法,直方图等。在解决类似(我相信)给你的问题时,我发现它非常有用并且易于使用。

如果你使用这个解决方案,你可以使用熊猫的DataFrame对象(而不是蟒蛇dict)来存储数据,并对此对象执行所有提到的操作。

熊猫数据类型也有一个很好的InterfaceC仍用于写入/来自文件(即DataFrame.to_json(...)

+0

谢谢。我只是看着熊猫,因为我从来没有用过它。所以,如果我有一个循环输出一个像上面发布的字典。我应该如何制作一个数据框?数据框应该有什么结构?我需要知道什么命令来完成总和,分割,直方图等等? –

相关问题