2016-06-03 1 views
1

Мои наборы данных выглядит следующим образом:как установить столбец как индекс даты?

 Date Value 
    1/1/1988 0.62 
    1/2/1988 0.64 
    1/3/1988 0.65 
    1/4/1988 0.66 
    1/5/1988 0.67 
    1/6/1988 0.66 
    1/7/1988 0.64 
    1/8/1988 0.66 
    1/9/1988 0.65 
    1/10/1988 0.65 
    1/11/1988 0.64 
    1/12/1988 0.66 
    1/13/1988 0.67 
    1/14/1988 0.66 
    1/15/1988 0.65 
    1/16/1988 0.64 
    1/17/1988 0.62 
    1/18/1988 0.64 
    1/19/1988 0.62 
    1/20/1988 0.62 
    1/21/1988 0.64 
    1/22/1988 0.62 
    1/23/1988 0.60 

Я использовал этот код, чтобы прочитать эти данные

df.set_index(df['Date'], drop=False, append=False, inplace=False, verify_integrity=False).drop('Date', 1) 

но проблема индекс не в формате даты. Итак, вопрос в том, как установить этот столбец как индекс даты?

+1

Извините, но вы не назначаете назад или не передаете 'inplace = True', также какова точка передачи' drop = False', а затем снова вызывается 'drop'? – EdChum

+0

Вы ищете 'pandas.to_datetime'. – IanS

+0

hi EdChum, все они по умолчанию, когда я использовал dis_lang.set_index (dis_lang ['Date'], append = False) .drop ('Date', 1) все еще проблема такая же. I, e index is не в формате datetime – bikuser

ответ

4

Ваш вопрос не было надлежащего объяснения, но вы можете сделать следующее:

In [75]: 
# convert to datetime 
df['Date'] = pd.to_datetime(df['Date']) 
df.info() 

<class 'pandas.core.frame.DataFrame'> 
RangeIndex: 23 entries, 0 to 22 
Data columns (total 2 columns): 
Date  23 non-null datetime64[ns] 
Value 23 non-null float64 
dtypes: datetime64[ns](1), float64(1) 
memory usage: 448.0 bytes 

In [76]: 
# set the index 
df.set_index('Date', inplace=True) 
df.info() 

<class 'pandas.core.frame.DataFrame'> 
DatetimeIndex: 23 entries, 1988-01-01 to 1988-01-23 
Data columns (total 1 columns): 
Value 23 non-null float64 
dtypes: float64(1) 
memory usage: 368.0 bytes 

Так вот to_datetime преобразует даты строки в datetime DTYPE, set_index с парам inplace=True все, что вам нужно,