2013-10-11 4 views
4

데이터 프레임이있어서 열 중 하나에서 값의 평균을 얻고 싶습니다. 내가 할 경우팬더 데이터 프레임의 평균 정의는 무엇입니까?

print df['col_name'][0:1] 
print df['col_name'][0:1].mean() 

를 내가 얻을 :

0 2 
Name: col_name 
2.0 

내가 할 경우

print df['col_name'][0:2] 
print df['col_name'][0:2].mean() 

내가 얻을 :

0 2 
1 1 
Name: col_name 
10.5 

내가 할 경우

012 346,167,

내가 얻을 : 당신이 str 값의 열이 아닌 ints 가지고있는 것처럼

0 2 
1 1 
2 2 
Name: col_name 
70.6666666667 
+0

보고 싶을 수도 있습니다 http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.mean.html?highlight=mean#pandas.DataFrame.mean – aIKid

답변

3

것 같습니다 :

import pandas as pd 
df = pd.DataFrame({'col':['2','1','2']}) 
for i in range(1,4): 
    print(df['col'][0:i].mean()) 

2.0 
10.5 
70.6666666667 

를 산출을 값이 ints을 경우 일 때 :

df = pd.DataFrame({'col':[2,1,2]}) 
for i in range(1,4): 
    print(df['col'][0:i].mean()) 

당신은 물론,이 문제를 처리하는 가장 좋은 방법이며,

df['col'] = df['col'].map(int) 

ints의 열을 str의 당신의 열을 변환 할 수 있지만

2.0 
1.5 
1.66666666667 

를 산출 데이터 프레임이 올바른 위치 (int)의 값으로 구성되었는지 확인하십시오.

+0

오, 좋은 슬픔, 10.5 == float ("2"+ "1")/2'. 나는 그것을 보았을 것이라고 생각했기 때문에 보지 않고조차 배제했다. – DSM

+0

허. 그 숫자가 어디에서 왔는지 당신이 알아 냈기 때문에 기쁩니다. 이봐, 너 다형성이야! :) – unutbu

관련 문제