首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >`没有要聚合的数值类型`滚动求和和时间增量类型错误

`没有要聚合的数值类型`滚动求和和时间增量类型错误
EN

Stack Overflow用户
提问于 2019-12-24 11:59:26
回答 1查看 301关注 0票数 1

我有以下列(timedelta对象),它是两个时间列之间差异的结果:

代码语言:javascript
运行
复制
Duration
00:12:38.260000  
00:01:00.750000  
00:19:35.260000  
00:00:29.990000 

我尝试在本专栏中应用以下内容:

代码语言:javascript
运行
复制
rolling(min_periods=3, window=5).sum()

我有以下错误:

No numeric types to aggregate

我应该转换我的工期吗?多么?

EN

回答 1

Stack Overflow用户

发布于 2019-12-24 14:55:14

short answer

使用.total_seconds()转换为秒,然后使用sum

long answer

创建dataframeduration

代码语言:javascript
运行
复制
import pandas as pd

dt1 = ['2019-12-01 10:00:00', '2019-12-01 10:01:00', '2019-12-01 10:00:30', '2019-12-01 10:02:30', '2019-12-01 10:05:30']
dt2 = ['2019-12-01 10:10:00', '2019-12-01 11:06:00', '2019-12-01 10:01:00', '2019-12-01 10:02:30', '2019-12-01 10:07:30']

df = pd.DataFrame({'dt1': dt1, 'dt2': dt2})
df['dt1'] = pd.to_datetime(df['dt1'])
df['dt2'] = pd.to_datetime(df['dt2'])
df['duration'] = df['dt2'] - df['dt1']
df.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 3 columns):
dt1         5 non-null datetime64[ns]
dt2         5 non-null datetime64[ns]
duration    5 non-null timedelta64[ns]
dtypes: datetime64[ns](2), timedelta64[ns](1)
memory usage: 248.0 bytes

请注意,持续时间的类型为timedelta

现在使用.total_seconds()转换为秒,然后使用sum。

代码语言:javascript
运行
复制
df['duration_rolling_sum'] = pd.to_timedelta(df['duration'].dt.total_seconds().rolling(min_periods=3, window=5).sum(), unit='s')

df

                  dt1                 dt2 duration duration_rolling_sum
0 2019-12-01 10:00:00 2019-12-01 10:10:00 00:10:00                  NaT
1 2019-12-01 10:01:00 2019-12-01 11:06:00 01:05:00                  NaT
2 2019-12-01 10:00:30 2019-12-01 10:01:00 00:00:30             01:15:30
3 2019-12-01 10:02:30 2019-12-01 10:02:30 00:00:00             01:15:30
4 2019-12-01 10:05:30 2019-12-01 10:07:30 00:02:00             01:17:30
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59463672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档