특정 열에 의해 식별되는 두 개의 데이터 집합의 평균을 계산하려고합니다. 여기는 AA2 란입니다. 간단한 솔루션은 먼저 데이터 세트를 식별 한 다음 해당 데이터 세트에 대한 평균을 계산하는 것입니다. 그러나 이것은 파이썬에서는 좋지 않습니다. numpy가 나를 위해이 일을 할 수있는 방법이 있습니까?numpy를 사용하여 집합의 평균값을 계산하는 더 좋은 방법
내 데이터 세트 :
Number AA1 AA2 AA3 Atom amou mean_shift stddev
187 ALA GLU LEU C 1 119.47 0.00
187 ALA GLU LEU O 1 8.42 0.00
188 ALA GLU LYS C 1 120.67 0.00
188 ALA GLU LYS O 1 9.11 0.00
777 ARG GLN ARG C 1 117.13 0.00
777 ARG GLN ARG O 1 8.48 0.00
은 내가 원하는 무엇 : 는187 GLU C 1 (119.47+120.67+117.13)/3 0.00 187 GLU O 1 (8.42+9.11+8.48)/3 0.00
편집 : 나는 예를 정리. 평균은 열 mean_shift에 대해 계산되지만 원자가 동일한 행에 대해서만 계산됩니다. 이 내 (너무 좋은하지 버전)입니다 :
i,j = 0,0 # iterate over all keys for j in range(1, len(data_one)): key = data_two[j][3] aminoacid = data_two[j][5] print key, aminoacid stop keyeddata=[] for i in range(1, len(data_one)): if (data_one[i][2]==key): keyeddata.append(data_one[i]) print mean(keyeddata[6])
환호, 감사
당신은 다음과 같이 구조화 된 배열을 쉽게 할 수
귀하의 질문에 대한 귀하의 질문을 이해하지 못합니다. 여기서 칼럼이 AA2가 아니라고 말하면 처음 4 개의 엔트리는 집합 1 (GLU)에 속하며 마지막 두 개는 집합 2 (GLN)에 속합니다. 그렇다면 귀하의 경우에 '평균'열의 의미가 필요합니까? – Bogdan
원하는 결과를 질문에 연관시키는 데 문제가 있습니다. "AA2를 통한 평균 계산"은 어떻게 모든 GLN 및 GLU/LYS 행이 사라지는 것으로 해석합니까? "사소한 해결책"에 대한 의사 코드를 줄 수 있습니까? 건배. –
당신이 원하는 것이 아직 명확하지 않지만 데이터 셋이 어떤 파이썬 구조로 파싱되지 않기 전에 numpy는 아무 것도 할 수 없습니다. "파이썬에서 멋지지 않아"라는 말은 무엇을 의미합니까?좋은 읽을 수있는 코드를 원한다면 불필요한 내용을 재사용 가능한 클래스로 포장하여 주 코드의 최종 코드가 깨끗하고 읽기 쉬운 상태로 만들 수 있습니다. – Bort