您好,任何想法如何将 timedelta 对象转换为在 pandas 中浮动,它需要根据分钟或小时进行概括,即 00:06:46.221000 到 6.46 分钟或 01:06:76.341000 到 66.76 分钟
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
如果您使用的是 Python2.7/3.2 或更高版本,则可以使用以下方法(其中 time_delta_obj 是您的 timedelta 对象):
time_minutes = time_delta_obj.total_seconds()/60.0
在 Python 3.2 或更高版本中,您可以简单地使用:
time_minutes = time_delta_obj/datetime.timedelta(minutes=1)
有关更多信息,请参阅Python 3.2 - datetime and time和timedelta.total_seconds()。
要将其应用于 pandas 数据框,请使用 apply():
def convert_to_minutes(time_delta_obj): return time_delta_obj.total_seconds()/60.0
或者
def convert_to_minutes(time_delta_obj): return time_delta_obj/datetime.timedelta(minutes=1)
然后对于 df 的名为“time_diff”的列,使用以下命令:
df['time_diff'] = df['time_diff'].apply(convert_to_minutes)
holdtom
TA贡献1805条经验 获得超10个赞
你可以只Series用一个Timedelta(minutes=1). 的确:
>>> df
col
0 00:06:46.221000
1 00:03:12.456000
2 00:02:07.123456
>>> df['col'] / pd.Timedelta(minutes=1)
0 6.770350
1 3.207600
2 2.118724
Name: col, dtype: float64
添加回答
举报
0/150
提交
取消