首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas df.resample('D').sum()返回NaN

pandas df.resample('D').sum()返回NaN
EN

Stack Overflow用户
提问于 2017-10-30 17:53:19
回答 1查看 670关注 0票数 0

我有一个熊猫数据框,里面有电表读数(累积)。df DatetimeIndex dtype=‘datetime64 df’。当我加载.csv文件时,数据帧不包含任何NaN值。我需要计算每月和每天产生的能量。

为了计算每月的生成量,我使用dfmonth = df.resample('M').sum()。这可以很好地工作。为了计算每天的生成量,我想使用: dfday = df.resample('D').sum()。它部分工作,但对于某些索引日期(原始文件中没有数据丢失),返回NaN。

请参阅下面的代码。有人知道为什么会发生这种情况吗?有什么建议的解决方案吗?

代码语言:javascript
复制
df = pd.read_csv(file)
df = df.set_index(pd.DatetimeIndex(df['Reading Timestamp']))
df=df.rename(columns = {'Energy kWh':'meter', 'Instantaneous Power kW (approx)': 'kW'})
df.drop(df.columns[:10], axis=1, inplace=True) #Delete columns I don't need.
df['kWh'] = df['meter'].sub(df['meter'].shift())
dfmonth = df.resample('M').sum() #This works OK calculating kWh. dfmonth does not contain any NaN.
dfday = df.resample('D').sum() # This returns a total of 8 NaN out of 596 sampled points. Original df has 27929 DatetimeIndex rows

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2017-10-30 20:22:44

给你们所有人一个很大的道歉。我得到的.csv和我正在检查的原始.csv不是同一个文件。数据不知何故被破坏了……到目前为止我一直在碰壁,df.resample('D').sum()没有问题。

再次抱歉,请考虑线程排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47012306

复制
相关文章

相似问题

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