【发布时间】:2021-02-04 04:00:02
【问题描述】:
我正在尝试转换列df["time_ro_reply"]
它仅包含十进制的天数到包含天数、小时数、分钟数的 timedelta 格式。这使它更具人类可读性。
我正在阅读有关 pd.to_timedelta 的信息,但我正在努力实现它:
pd.to_timedelta(df["time_to_reply"]) 这只返回 0。
示例输入:
df["time_ro_reply"]
1.881551
0.903264
2.931560
2.931560
预期输出:
df["time_ro_reply"]
1 days 19 hours 4 minutes
0 days 23 hours 2 minutes
2 days 2 hours 23 minutes
2 days 2 hours 23 minutes
【问题讨论】:
-
如果您可以将示例输入与预期输出共享,那就太好了。
-
@MayankPorwal 感谢您的反馈,我已经更新了问题。实际上我的输入是十进制格式的天数(例如 3.23 天...)
-
我找到了一个解决方案,但我虽然已经有一个编码函数:
def days_hours_minutes(td): return td.days, td.seconds//3600, (td.seconds//60)%60 -
我不确定是否有专门用于此的编码函数。必须为它做数学,就像你做的那样。