python - 将 pandas 日期时间转换为小时 :min rounded to 15 min

标签 python pandas dataframe datetime datetime-format

我使用以下命令用 pandas 读取了此 Excel 工作表(仅“DATEHEUREMAX”列):

xdata = read_excel('Data.xlsx', 'Data', usecols=['DATEHEUREMAX'])

exemple of my excel sheet

现在我想把这个 df 变成一个简化的 df,只将 hour:min 四舍五入到 15 分钟。主要思想是根据小时:分钟绘制直方图

最佳答案

考虑以下具有单列的 DataFrame,读取为日期时间(而不是字符串):

                  Dat
0 2019-06-03 12:07:00
1 2019-06-04 10:04:00
2 2019-06-05 11:42:00
3 2019-06-06 10:17:00

要将这些日期舍入为运行 15 分钟:

df['Dat2'] = df.Dat.dt.round('15T').dt.time.map(lambda s: str(s)[:-3])

结果是:

                  Dat  Dat2
0 2019-06-03 12:07:00 12:00
1 2019-06-04 10:04:00 10:00
2 2019-06-05 11:42:00 11:45
3 2019-06-06 10:17:00 10:15

出于演示目的,我将结果保存在新列中,但您可以 将其保存在原始列中。

关于python - 将 pandas 日期时间转换为小时 :min rounded to 15 min,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59078238/

相关文章:

python - Pandas 合并两个没有某些列的数据框

python - 两幅图像的 PSNR/MSE 计算

python - Pandas 根据列的值有效地分块读取大型面板 CSV

python-3.x - 应用通用函数 (x,y) 从两个现有列创建一个新列,以便我可以在不同列中使用该函数

python - 无法在浏览器上打开 jupyter(ipython) notebook

python - 将无向 NetworkX 图转换为有向 NetworkX 图

python - Pandas 数据框、应用函数、返回索引

python - 使用 python/pandas 将任意多列转换为键值对

python - 排除行以在 Pandas 中进行滚动均值计算

python - 安装YCM报错: python site module not loaded