strptime()报错

发布于 2022-09-05 23:32:39 字数 1300 浏览 8 评论 0

用python处理CSV文件里的数据。数据大概如下图所示。需要每隔15分钟把数据加到一起,比如把2017-03-11 1:00-1:15的数据加到1:15。根据大神写的code,略微修改运行后,python总是报错如下:

dt = datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f')
TypeError: strptime() argument 1 must be str, not int

实在找不出原因,还请大家提点一下。
Code 如下:

import pandas as pd
from datetime import datetime, timedelta
data =pd.read_csv('C:/Users/admin/Desktop/test.csv')  
def time_format(x):
    dt = datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f')    
    mod = (dt.minute // 15)
    if mod == 0:
        if dt.minute == 0:
            return datetime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 
dt.second, dt.microsecond)
        else:
            minute = mod * 15
            return datetime(dt.year, dt.month, dt.day, dt.hour, minute, 
dt.second, dt.microsecond) + timedelta(minutes=15)
    else: 
        minute = mod * 15
        return datetime(dt.year, dt.month, dt.day, dt.hour, minute, 
dt.second, dt.microsecond) + timedelta(minutes=15)

df = data.fillna(0)
df['DateTimeKey'] = df['DateTimeKey'].apply(time_format)
print(df.groupby('DateTimeKey', as_index=False).sum())

862209505-59cb38b0019a3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥繁 2022-09-12 23:32:40

df = data.fillna(0)使缺失的时间序列返回0,导致Strptime()报错。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文