2017-03-13 3 views
0

나는 아래 데이터 프레임 df를가집니다. 자동차 유형별로 일일 킬로미터 수를 보여줍니다.조건에 따라 플롯 데이터 프레임

People  Car   dmy   value(km) 
A   Renault 14-05-2016  500 
B   Peugeot 14-05-2016  1000 
A   Citroen 14-05-2016  400 
A   Renault 15-05-2016  24 
B   Peugeot 15-05-2016  247 
A   Renault 15-05-2016  369 
A   Citroen 23-05-2016  692 
A   Citroen 28-05-2016  284 

내가 '값 (km)'하루에 열을의 평균 값을 얻기 위해 DMY의 열을 기준으로 그룹화 할 20K 라인 1 년 동안 내가 가진

이 무엇 인 I 완료했습니다 :

우선 두 가지 조건으로 주어진 새 데이터 프레임을 만듭니다. 내 그래프는 1 가지 유형의 자동차 및 1 가지 범주의 사람들에 대한 하루 평균 평균값 만 표시합니다.

yy = (df["Car"] == 'Renault') & (df["People"] == 'A') 

그러면 I는 group.by에게

zz = yy.groupby('dmy')['value(km)'].mean() 

을 수행 색인

ZZ = zz.set_index ('DMY')

같이 DMY 열을 설정하는 dataframe을 만들

다음이 새로운 zz 데이터 프레임을 그립니다.

plt.plot(zz.index, zz["value"].values, linestyle='-', color='b', label="Renault") 
plt.gcf().autofmt_xdate() 
plt.legend() 
plt.show() 

그래도 플롯이 표시되지 않습니다. Thx 도움!

답변

0

groupbyDataframe이 아니라 DataFrameGroupBy을 반환합니다.

내가 먼저 필요한 열을 선택한 다음 aggregate를 호출하고 결국 plot 것 :

import numpy as np 
zz = yy[['value(km)', 'dmy']].groupby('dmy').aggregate(np.mean) 
zz.plot() 
관련 문제