python - 从 Pandas 的时间列中提取小时

标签 python pandas datetime

假设我有以下数据集:

enter image description here

我将如何创建一个新的专栏,作为时间的一部分?

例如,下面的代码适用于个别时间,但我无法将其概括为 pandas 中的列。

t = datetime.strptime('9:33:07','%H:%M:%S')
print(t.hour)

最佳答案

使用to_datetime到日期时间 dt.hour :

df = pd.DataFrame({'TIME':['9:33:07','9:41:09']})

#should be slowier
#df['hour'] = pd.to_datetime(df['TIME']).dt.hour

df['hour'] = pd.to_datetime(df['TIME'], format='%H:%M:%S').dt.hour
print (df)
      TIME  hour
0  9:33:07     9
1  9:41:09     9

如果想在 TIME 列中使用 datetime 可以分配回去:

df['TIME'] = pd.to_datetime(df['TIME'], format='%H:%M:%S')

df['hour'] = df['TIME'].dt.hour
print (df)
                 TIME  hour
0 1900-01-01 09:33:07     9
1 1900-01-01 09:41:09     9

关于python - 从 Pandas 的时间列中提取小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53045867/

相关文章:

显示错误日期的 Java 日历类

python - 计算 N 叉树的奇数个数

python,插入同一行两次时测试不会失败

python - PyQt:多个 QGridLayout

python - 将 wav 文件传递​​到 IPython.display 时出错

python - Groupby相邻行 Pandas 的条件总和

python - 在 csv python 中排序、分组和计算平均值

SQL:从 varchar 转换为 datetime 并比较

python - 根据值列 pandas 计算名称

python - YYMM 到日期时间 python