2016-11-22 21 views
0

多くのファイルでスクリプトを実行する必要があります。私はデータのライブラリを構築しようとしているので、計算をやり直す必要はありません。今、私は次のように辞書を含むTXTとして出力する各ファイルの結果をJSON形式のダンプを使用しています: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ファイルをすべて1つの巨大な辞書に結合することを知っています。キーはすべての辞書で同じになります。私は、これらの "リスト"の値をそれぞれのキーの値として1つの大きなリストに追加しようとします。私はいくつかの数学的演算、追加、除算、描画ヒストグラム、クラスタリングなどを行います。

私はあなたがそれをやる方法を知りたいと思っています。もし私が上で説明したことが、データが巨大になることを非効率的または計算上高価にするなら。

+2

を持っているあなたはのNoSQLデータベースに見たことがありますか? https://en.wikipedia.org/wiki/NoSQL#Types_and_examples_of_NoSQL_databases – bslawski

+0

あなたの質問には合計20個のキーしかないことに言及する必要があります。誰もがバイオデータを扱うわけではありません。 :) –

+0

申し訳ありません。はい、辞書には常に20個のアミノ酸キーがあります。私は上記の完全な辞書を投稿しました。 –

答えて

0

いつも通りです。たくさんのデータがあると確信できるなら、pandasライブラリをPython(http://pandas.pydata.org/)に使うことを検討することができます。

これは非常に強力なデータ解析ライブラリであり、追加、分割、ヒストグラムなどをデータ型に直接行うことができます。あなたと同様の問題(私が信じる)を解決するときは、非常に役立ち、使いやすいことが分かりました。

このソリューションでは、pandasのDataFrameオブジェクト(ピソンdictの代わりに)を使用してデータを保存し、このオブジェクトに対して前述のすべての操作を実行できます。

パンダのデータ型も、ファイルからの読み取り/に書き込むための素敵なinterfacec(すなわちDataFrame.to_json(...)

+0

ありがとうございます。私は今までそれを使用したことがないので、パンダを調べました。したがって、上記のような辞書を出力するループがあるとします。それらのデータフレームをどのようにして外すべきですか?データフレームにはどのような構造が必要ですか?合計、分割、ヒストグラムなどを知るにはどのようなコマンドが必要ですか? –

関連する問題