繁体   English   中英

使用python从时间戳中提取小时

[英]extract hour from timestamp with python

我有一个数据帧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功能?

亲切的问候

我想你需要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

编辑 :是的,jezrael你是对的。 把他所说的:pandas dataframe有一个属性,即dt

<dataframe>.<ts_column>.dt.hour

上下文中的示例 - 包含日期的列是TIMESTAMP

df.TIMESTAMP.dt.hour

一个类似的问题 - 熊猫,带有datetime64列的数据框,按小时查询

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM