为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas:如何在从每小时到每日数据重新采样时避免填充

Pandas:如何在从每小时到每日数据重新采样时避免填充

一只甜甜圈 2022-01-05 20:01:05
我有一个由每小时数据组成的系列。我想计算每日总和。数据可能缺少小时数,有时还缺少日期。2017-02-01 00:00:00  3.02017-02-01 01:00:00  4.02017-02-01 02:00:00  4.02017-02-03 00:00:00  3.0例如,在上面 2017-02-01 的时间序列中,只有前三个小时的数据存在。其余 21 小时数据丢失。2017-02-02 的数据完全缺失。我不在乎错过的时间。每日总和应该考虑一天中存在的任何数据(在示例中,它应该考虑小时 0、1、2)。但是,如果某个日期完全缺失,我应该将 NaN 作为该日期的总和。resample() 后跟 sum() 适用于 #1。但它为 #2 返回 0。2017-02-01  110.02017-02-02  0.02017-02-03  3.0这是虚拟代码:my_series.resample('1D',closed='left',label='left').sum()我如何告诉 resample(),不要为缺失的日期设置 0?
查看完整描述

1 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

使用min_count=1在sum:


min_count : int, default 0

执行操作所需的有效值数。如果存在少于 min_count 的非 NA 值,则结果将为 NA。


0.22.0 新版功能: 添加默认值为 0。这意味着全 NA 或空系列的总和为 0,全 NA 或空系列的乘积为 1。


a = my_series.resample('1D',closed='left',label='left').sum(min_count=1)

print (a)

2017-02-01    11.0

2017-02-02     NaN

2017-02-03     3.0

Freq: D, Name: a, dtype: float64


查看完整回答
反对 回复 2022-01-05
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信