除法问题,除以日期时间和整数

问题描述 投票:0回答:1

我有数据框,两列:

  • 首先是 result['days'] int 类型,
  • 第二个是result['time'],datetime.time类型。时间总和就像 02:27:39

我想要的是 new column = result['time'] / result['days'] 但我不能

unsupported operand type(s) for /: 'datetime.time' and 'int'

我该怎么做?

dataframe datetime divide
1个回答
0
投票

A

datetime.time
不能被分割,但
datetime.timedelta
可以:

import pandas as pd
import datetime as dt

def to_timedelta(time):
    return dt.timedelta(hours=time.hour, minutes=time.minute, seconds=time.second)

df = pd.DataFrame({'days':[1,2,3], 'time':[dt.time(2,27,39)]*3})
df['per_day'] = df.time.apply(to_timedelta) / df.days
print(df)

输出:

   days      time                per_day
0     1  02:27:39        0 days 02:27:39
1     2  02:27:39 0 days 01:13:49.500000
2     3  02:27:39        0 days 00:49:13
© www.soinside.com 2019 - 2024. All rights reserved.