熊猫:如何避免从每小时到每天的数据重新采样时发生fillna

时间:2019-04-10 10:58:43

标签: python pandas time-series

我有一个由小时数据组成的系列。我想计算每日总和。 数据可能缺少小时,有时甚至缺少日期。

2017-02-01 00:00:00  3.0
2017-02-01 01:00:00  4.0
2017-02-01 02:00:00  4.0
2017-02-03 00:00:00  3.0

例如,在上述2017-02-02的时间序列中,仅显示前三个小时的数据。其余21小时数据丢失。

2017-02-02的数据完全丢失。

  1. 我不在乎错过工作时间。每日总和应考虑一天中存在的任何数据(在示例中,应考虑小时0、1、2)。
  2. 但是,如果日期完全缺失,我应该以NaN作为该日期的总和。

resample()之后加上sum()对于#1来说效果很好。但是它返回我2的0。

2017-02-01  110.0
2017-02-02  0.0
2017-02-03  3.0

这是伪代码:

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

如何告诉resample(),不要为缺失的日期设置0?

1 个答案:

答案 0 :(得分:4)

sum中使用<svg viewBox="0 0 60 60" width="60" height="60"> <path d="M21,2 L3,2 C1.9,2 1,2.9 1,4 L1,16 C1,17.1 1.9,18 3,18 L10,18 L10,20 L8,20 L8,22 L16,22 L16,20 L14,20 L14,18 L21,18 C22.1,18 23,17.1 23,16 L23,4 C23,2.9 22.1,2 21,2 Z M21,16 L3,16 L3,4 L21,4 L21,16 Z"></path> </svg>

  

最小计数:整数,默认为0
  执行操作所需的有效值数量。如果存在少于min_count个非NA值,则结果将为NA。

     

0.22.0版中的新增功能:添加了默认值0。这表示全NA或空系列的总和为0,全NA或空系列的乘积为1。

min_count=1
相关问题