2017-02-12 4 views
1

나는 아래의 코드에서있어 dataframe를 가지고,하지만 난/월/년을 위해 dd하는 date 인덱스를 변환 할 수없는 오전형식 팬더 dataframe 지수 날짜

df= pandas.read_html(base_url, header=0, index_col='Date', parse_dates=True)[0] 
df.index = pandas.to_datetime(df.index, dayfirst=True) 

이 결과

  Col1 Col2 
Date           
2017-02-10 val1 val1 
2017-02-09 val2 val2 
2017-02-08 val3 val3 
2017-02-07 val4 val4 
입니다

stackoverflow에서 검색 한 몇 가지 다른 변형을 피곤하지만 작동하는 조합을 찾을 수 없습니다.

그것은 여전히 ​​인쇄하고 dateyyyy-mm-dd

답변

1

yyyy-mm-ddpandas에서 dates의 기본 표시 형식이기 때문에 필요 DatetimeIndex 다음이다이 문제가됩니다.

DatetimeIndex.strftime에 의해 필요 string 인덱스 경우

df.index = df.index.strftime('%d/%m/%Y') 
print (df) 
      Col1 Col2 
10/02/2017 val1 val1 
09/02/2017 val2 val2 
08/02/2017 val3 val3 
07/02/2017 val4 val4 

print (type(df.index[0])) 
<class 'str'> 

불행하게도이 작동하지 않습니다 - docs :

with pd.option_context('display.date_dayfirst', True): 
    print (df) 

      Col1 Col2 
Date     
2017-02-10 val1 val1 
2017-02-09 val2 val2 
2017-02-08 val3 val3 
2017-02-07 val4 val4 
+0

감사 @jezrael. 나는 그처럼 'strftime'을 할 수 있다고 생각하지 않았다. :) –