web-dev-qa-db-fra.com

extraire l'heure de l'horodatage avec python

J'ai un cadre de données df energy 2

df_energy2.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 29974 entries, 0 to 29973
Data columns (total 4 columns):
TIMESTAMP        29974 non-null datetime64[ns]
P_ACT_KW         29974 non-null int64
PERIODE_TARIF    29974 non-null object
P_SOUSCR         29974 non-null int64
dtypes: datetime64[ns](1), int64(2), object(1)
memory usage: 936.8+ KB

avec cette structure:

df_energy2.head()

TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR
2016-01-01 00:00:00 116 HC 250 
2016-01-01 00:10:00 121 HC 250

Existe-t-il une fonction en python capable d'extraire heure de TIMESTAMP?

Sincères amitiés

7
Poisson

Je pense que vous avez besoin de dt.hour :

print (df.TIMESTAMP.dt.hour)
0    0
1    0
Name: TIMESTAMP, dtype: int64

df['hours'] = df.TIMESTAMP.dt.hour
print (df)
            TIMESTAMP  P_ACT_KW PERIODE_TARIF  P_SOUSCR  hours
0 2016-01-01 00:00:00       116            HC       250      0
1 2016-01-01 00:10:00       121            HC       250      0
4
jezrael

Compte tenu de vos données:

df_energy2.head()

TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR
2016-01-01 00:00:00 116 HC 250 
2016-01-01 00:10:00 121 HC 250

Vous avez le timestamp comme index. Pour extraire des heures de l'horodatage où vous l'avez en tant qu'index du cadre de données: 

  hours = df_energy2.index.hour

Edit: Oui, jezrael tu as raison. En mettant ce qu’il a dit: pandas dataframe a une propriété pour ce i.e. dt:

<dataframe>.<ts_column>.dt.hour

Exemple dans votre contexte - la colonne avec la date est TIMESTAMP

df.TIMESTAMP.dt.hour

Une question similaire - Pandas, structure de données avec une colonne datetime64, interrogation heure par heure

0
Nabeel Ahmed