2014-04-09 1 views
0

나는 판다를 사용하여 파일을 읽고 있습니다. D = pandas.DataFrame ("data.csv")필터가있는 행렬의 합계 값 사용 방법

data.csv ABC

d 408.56087701 87.26907024 
    b 277.95015117 75.19386881 
    b 385.41416264 84.73488504 
    b 380.31630662 71.23504808 
    b 392.10729207 83.80720357 
    b 399.70877373 76.59640833 
    b 350.93124656 79.34979059 
    b 330.09702335 79.37166555 

위로 = 399.70877373,385.41416264] I는 C의 값을 합산하는 것을 시도하고

여기서 I "뒤로"및 열 B 사이의 일치를 찾을 내가 구현하려고

s=0 
for indj, j in enumerate(back) 
    for indi, i in enumerate(d) 
     if (j== i): 
     s= s+d[indi][3] 

이 감소 사용 :

reduce(lambda x, y: x+y,dat ..) 

그러나 필터 값에 조건을 추가하는 방법을 찾지 못했습니다?

+0

당신이 대신 원래'data'를 사용하는 back''사용해야 할 이유가 있습니까? – BrenBarn

답변

1

난 그냥 해결이 사용

the_sum = sum(x[2] for x in data if x[1] in back)