2016-11-22 4 views
0

많은 파일에서 스크립트를 실행해야합니다. 나는 다시 데이터를 다시 계산할 필요가 없도록 데이터 라이브러리를 작성하려고합니다. 지금은 다음과 같이 사전을 포함하는 TXT로 출력에 각 파일의 결과를 JSON 덤프를 사용하고 있습니다 :파이썬에서 사전을 처리하는 가장 좋은 방법은 무엇입니까?

{"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 데이터베이스로 봤어 (DataFrame.to_json(...) 즉) 파일의 읽기/쓰기에 대한 좋은 InterfaceC 인터페이스를 가지고? https://en.wikipedia.org/wiki/NoSQL#Types_and_examples_of_NoSQL_databases – bslawski

+0

귀하의 질문에 총 20 개의 키만 있다고 언급해야합니다. 모든 사람들이 바이오 데이터로 작업하는 것은 아닙니다. :) –

+0

죄송합니다. 그렇습니다. 사전에는 항상 20 개의 아미노산 키가 있습니다. 위의 전체 사전을 게시했습니다. –

답변

0

언제나 그렇습니다. 많은 데이터가있을 것이라 확신하는 경우 파이썬에 pandas 라이브러리를 사용하는 것을 고려해 볼 수 있습니다 (http://pandas.pydata.org/).

매우 강력한 데이터 분석 라이브러리이며 데이터 유형에 직접 추가, 나누기, 막대 그래프 등을 추가 할 수 있습니다. 나는 당신과 비슷한 이슈들을 해결할 때 매우 유용하고 사용하기 쉬웠다 고 생각했다.

이 솔루션을 사용하면 pandas 'DataFrame 개체 (비소 대신 dict 대신)를 사용하여 데이터를 저장하고이 개체에 대해 위에서 설명한 모든 작업을 수행 할 수 있습니다.

팬더 데이터 유형은

+0

감사합니다. 전에 팬더를 사용 해본 적이 없기 때문에 팬더를 살펴 보았습니다. 그래서 위와 같이 사전을 출력하는 루프가 있다면. 어떻게 데이터 프레임을 모두 만들어야합니까? 데이터 프레임에는 어떤 구조가 있어야합니까? 합계, 나누기, 히스토그램 등을 수행하기 위해 알아야 할 명령은 무엇입니까? –

관련 문제