【发布时间】:2019-03-02 04:14:37
【问题描述】:
我正在尝试使用 Pandas 对一系列时间(小时、分钟)求和。数据来自 TimeField
class PhoneRecord ( models.Model ):
et = models.TimeField ( null=True, blank=True )
在 python 中,我获取记录并转换为数据框。
phone = PhoneRecord.objects.all()
df = read_frame ( phone )
df.et = df.et.fillna ( '00:00:00' ) # some records are blank
df [ "time" ] = pd.to_datetime(df.et, format = '%H:%M:%S', errors = 'coerce')
这给了我以下输出。
0 00:00:35
1 00:00:29
2 00:00:00
3 00:00:00
4 00:00:37
......
当我尝试求和时
df.time.sum ()
我收到如下错误:+ 的操作数类型不受支持:“datetime.time”和“datetime.time”
我需要做什么才能对数据进行求和和平均。
谢谢。
【问题讨论】:
-
转换为 timedelta 并求均值:
pd.to_timedelta(df.time).mean() # Timedelta('0 days 00:00:20.200000') -
抱歉,对此不确定:“转换为 timedelta”。谢谢。
-
要运行的代码也在同一个注释里,看看吧。
-
我输入了一个 print() 并针对此错误: timedelta scalar 的类型无效:
-
抱歉,这不是我的日常工作 - 很明显。