2013-06-05 4 views
1

약 20 분 동안의 시계열 데이터가있는 팬더 데이터 프레임이 있습니다. 내가 플롯을 호출 할 때, 플롯 중 일부는 x-tick을 hh : mm : ss로 표시하지만 일부는 hh : mm으로 표시합니다.pandas timeseries 플롯 xticks second-level granularity

출력 그래프를 비교할 때 혼란을 야기합니다. 어떻게 hh : mm 것들이 다른 것들처럼 두 번째 수준의 세분성을 갖도록 강제 할 수 있습니까? MM : SS 형식의 플롯

In [68]:dfd 
    Out[68]: 
    <class 'pandas.core.frame.DataFrame'> 
    DatetimeIndex: 1193 entries, 2013-05-30 00:00:00 to 2013-05-30 00:19:59 
    Data columns: 
    disk_util 1193 non-null values 
    dtypes: float64(1) 

    In [69]: 
    dfd.plot() # this gives hh:mm:ss plot 

하지만이 사람은 HH 제공 : 첫 번째 주석의 요청에 따라

, 여기 HH를 생산하는 dataframe입니다 mm 포맷 된 줄거리 :

In [63]: dfn 
    Out[63]: 
    <class 'pandas.core.frame.DataFrame'> 
    DatetimeIndex: 1197 entries, 2013-05-30 00:00:00 to 2013-05-30 00:19:56 
    Data columns: 
    net_util 1197 non-null values 
    dtypes: float64(1) 

    In [64]: dfn.plot() 
+2

시도해 볼 예제 코드를 게시하십시오. –

+0

고마워! 코드가 아닌 csv 파일의 데이터를 읽었습니다. http://nbviewer.ipython.org/urls/raw.github.com/changhiskhan/talks/master/pydata2012/pandas_timeseries.ipynb hh : mm 형식의 xticks를 보여주는 그림은 Out [20]을 참고하십시오. 두 번째 수준의 세부 수준을 표시하려면 어떻게해야합니까? –

+0

비교를 위해 두 개의 데이터 프레임 값 게시. –

답변

0

I 플롯을 hh : mm 형식 x- 스케일 틱을 제공하는 데이터 프레임의 하위 범위는 hh : mm : ss 형식의 x- 틱을 제공합니다. 이것은 팬더가 특정 크기를 초과했을 때 진드기의 디스플레이를 최적화하고 있음을 의미합니다.

위의 disk_util 데이터 프레임에는 1193 개의 샘플이 있지만 시간은 2013-05-30 00:00:00에서 2013-05-30 00:19:59로 확장됨을 알 수 있습니다. 이는 거기에 타임 스탬프가 있음을 의미합니다. 아무런 독서도 없었다. 이 결함으로 인해 디스플레이가 hh : mm 형식으로 표시되지 않을 수 있습니다.

net_util 1197의 null이 아닌 값은 누락 된 샘플이 없음을 의미하는 2013-05-30 00:00:00에서 2013-05-30 00:19:56까지의 기간이 있었지만 팬더는 hh : mm .

데이터 프레임 (df = df.drop (20))에서 샘플을 인위적으로 삭제하면 샘플이 누락되어 그래프에 hh : mm : ss 형식이 표시됩니다. 그래서 내 문제가 해결되었습니다.