2016-11-07 4 views
0

저는 pyspark 1.6python 2.7을 사용하고 있습니다. 데이터 프레임이 있고 다른 열을 기준으로 그룹화 한 후 특정 열의 평균을 얻고 싶습니다.데이터 프레임의 평균값을 얻으십시오.

data 내 dataframe이 들어

나는 아래

data.registerTempTable('dataframe') 
query = 'select mean(Weight) as Weight, b, s from dataframe group by b, s' 
df = sqlContext.sql(query) 

같이하고있어이 결과를 달성하는 좋은 방법이 있나요이다. pyspark documentation 참조 : 그것은 그룹화 한 후 평균을 얻기 위해 아주 사소한

s  b  Weight 
7801 d9b4 0.12911255 
7801 6b11 0.128151033 
7801 dd1f 0.12791147 
7801 c802 0.134295454 
7801 1294 0.128722551 
7801 4203 0.134276383 
7801 accc 0.134290742 
7801 aab9 0.129347649 
7801 4546 0.126628807 

답변

0

:

샘플 데이터는 같다. 당신이 질문에 정의한 sql이 또한 작동하도록 가까이 있어야한다고 생각하지만, 아래에 무엇인가를 시도해보십시오.

data.groupBy('b', 's').agg({'Weight': 'mean'}) 
>>> # [Row(b=u'6b11', s=u'7801', avg(Weight)=0.128151033), ...] 
관련 문제