python - Pandas .dt.hour 格式

标签 python pandas

我在 pandas 数据框中有一个 datetime64[ns] 格式对象。

我可以使用此列通过以下方式计算小时:

df['hour'] = df['datetime'].dt.hour

这将返回一个整数。例如:

datetime                        hour
19-10-2015 2015-10-19 01:00:00  1  

01:00:00 时间格式输出 hour 列的最简单方法是什么?

最佳答案

我认为你需要dt.time :

df['hour'] = df['datetime'].dt.time
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00

但是如果需要将日期时间截断为小时:

df['hour'] = df['datetime'].values.astype('<M8[h]')
df['hour'] = df['hour'].dt.time
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00
1 2015-10-19 01:50:00  01:00:00

有点黑客 - strftime并添加字符串 :00:00:

df['hour'] = df['datetime'].dt.strftime('%H').add(':00:00')
print (df)
             datetime      hour
0 2015-10-19 01:00:00  01:00:00
1 2015-10-19 01:50:00  01:00:00

关于python - Pandas .dt.hour 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977395/

相关文章:

python - 为什么 pyproj.Proj 前向投影似乎没有考虑经纬度原点?

python - 如何从以键为列和行索引的字典构造pandas DataFrame

python - 从终端运行脚本时 Altair 不显示图表?

python - 如何从列中获取日期时间类型而不是时间戳?

python - 如何在Python中合并两个pandas DataFrame?

python - 将 pandas 选定的列转换为 2D numpy 数组

python - 截屏并在其上使用 OCR

python - 如何在上一个作业结束后添加调度程序作业

python - "Correlation matrix"对于字符串。名义数据的相似度

Python:如何在跳过最后一个值后获取 Pandas 数据框中的前 5 个值?