簡體   English   中英

熊貓:如何避免從每小時到每天的數據重新采樣時發生fillna

[英]Pandas : How to avoid fillna while resampling from hourly to daily data

我有一個包含每小時數據的系列。 我想計算每日總和。 數據可能缺少小時,有時甚至缺少日期。

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?

sum使用min_count=1

min_count :int,默認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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM