首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一年中特定时间段的数据更改为零

将一年中特定时间段的数据更改为零
EN

Stack Overflow用户
提问于 2019-10-25 03:57:24
回答 1查看 51关注 0票数 1

我有5秒一次的太阳能性能数据,时间跨度为一整年。问题是数据反映了夜间的表现。我想将这些值全部更改为零。

我尝试过使用:

data.between_time('00:00:00','06:11:00')['SYSTEM MPPT PV Power [W]']) = 0

data.between_time('17:00:00','23:59:55')['SYSTEM MPPT PV Power [W]']) = 0

data.at_time('00:00:00')['SYSTEM MPPT PV Power [W]']) = 0

考虑到这些是不应该有表现的时期。

但是,这不允许我对反映性能的列进行赋值。

有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-10-25 05:42:39

pandas.DataFrame.between_times返回时间之间的行(假设数据帧有一个datetimeindex),不选择它们。所以赋值运算符不起作用。

假设您的数据帧有一个datetimeindex (由于您使用的是between_times,它应该有),您可以使用between_times来查找您希望其值为0的索引,并在以下行中执行赋值:

代码语言:javascript
复制
zeroidx = data.between_time('00:00:00','06:11:00').index.\
         append([data.between_time('17:00:00','23:59:55').index, \
         data.at_time('00:00:00').index])

data.loc[zeroidx, 'SYSTEM MPPT PV Power [W]'] = 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58548355

复制
相关文章

相似问题

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