web-dev-qa-db-fra.com

comment définir la colonne comme index de date?

Mes ensembles de données ressemblent à:

       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

J'ai utilisé ce code pour lire ces données

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

mais le problème est que l'index n'est pas au format de date. La question est donc de savoir comment définir cette colonne comme index de date?

11
bikuser

Votre question manquait d'une explication appropriée, mais vous pouvez procéder comme suit:

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

Alors ici to_datetime convertira les chaînes de date en datetime dtype, set_index avec param inplace=True est tout ce dont vous avez besoin,

22
EdChum