首页 > 解决方案 > 将 Pandas 列转换为小时和分钟

问题描述

我在 Pandas DataFrame 中有一个整数格式的字段。如何转换为 DateTime 格式并将列附加到我的 DataFrame?具体来说,我需要几小时和几分钟。
例子:

我试过pd.to_datetime(df.index, format='')了,但它返回了错误的格式。

标签: pythonpandasdatetime

解决方案


您有一个索引,其时间值是由整数表示的 HHMM。为了将其转换为 datetime dtype,您必须首先制作可以通过该to_datetime()方法正确转换的字符串。

time_strs = df.index.astype(str).str.zfill(4)

这会将所有整数值转换为用零填充到 4 个字符的字符串,例如15变成字符串。"0015"

现在您可以使用该格式"%H%M"转换为日期时间对象:

pd.to_datetime(time_strs, format="%H%M")

然后使用 datetime 对象的方法来访问小时和分钟。


推荐阅读