データフレームdf_energy2があります
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
この構造では:
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
TIMESTAMP
から時間を抽出できるpython fucntionがありますか?
敬具
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
あなたのデータを考える:
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
インデックスとしてタイムスタンプがあります。データフレームのインデックスとして使用するタイムスタンプから時間を抽出するには:
hours = df_energy2.index.hour
編集:はい、あなたは正しいです。彼が述べたことを言えば:pandas dataframeにはこのためのプロパティがあります。つまりdt
:
<dataframe>.<ts_column>.dt.hour
コンテキストの例-日付の列はTIMESTAMP
です
df.TIMESTAMP.dt.hour