2017-12-28 25 views
1

내 dataframe은 다음과 같습니다설정 인덱스

In [122]: data.head() 
Out[122]: 
        date open high low close volume 
date              
2017-08-07 2017-08-07 2.276 2.276 2.253 2.257  0.0 
2017-08-08 2017-08-08 2.260 2.291 2.253 2.283  0.0 
2017-08-09 2017-08-09 2.225 2.249 2.212 2.241  0.0 
2017-08-10 2017-08-10 2.241 2.241 2.210 2.212  0.0 
2017-08-11 2017-08-11 2.199 2.222 2.182 2.189  0.0 

방법 할 수 있습니다

data.index = pd.to_datetime(data['date']) 

내가이와 끝까지 : 수행 한 후

In [120]: data.head() 
Out[120]: 
     date open high low close volume 
0 2017-08-07 2.276 2.276 2.253 2.257  0.0 
1 2017-08-08 2.260 2.291 2.253 2.283  0.0 
2 2017-08-09 2.225 2.249 2.212 2.241  0.0 
3 2017-08-10 2.241 2.241 2.210 2.212  0.0 
4 2017-08-11 2.199 2.222 2.182 2.189  0.0 

나는 중복 날짜 열로 끝내지 않습니까? 당신의 도움에 감사드립니다. (팬더 0.21.1)

+0

'df = df.set_index ('date')'를 사용합니까? – Zero

답변

2

변환 먼저 날짜와 .set_index()를 사용하는 :

data['date'] = pd.to_datetime(data['date']) 
data.set_index('date', inplace=True) 
print(data) 

출력 :

   open high low close volume 
date           
2017-08-07 2.276 2.276 2.253 2.257  0.0 
2017-08-08 2.260 2.291 2.253 2.283  0.0 
2017-08-09 2.225 2.249 2.212 2.241  0.0 
2017-08-10 2.241 2.241 2.210 2.212  0.0 
2017-08-11 2.199 2.222 2.182 2.189  0.0 

inplace=True 대신 새로운 dataframe를 만드는 당신의 data을 수정합니다.

1

나는 inplace 대신 drop을 사용하고 있습니다. 작동합니다.

데이터 [ '날짜'] = pd.to_datetime (데이터 [ '날짜'])

data.set_index ('날짜', 드롭 = TRUE)는, 속성 설정 드롭

사실, 그것은 새로운 색인으로 사용될 열을 삭제합니다.