【发布时间】:2014-10-27 10:01:41
【问题描述】:
我有一个每日数据时间序列,其中有许多 NaN 值。我想重新采样月度数据,仅考虑 NaN 值少于 10 天的月份。
我尝试过使用 resample 函数,通过这种方式:
df = Date Sr_1 Sr_2 Sr_3 01/12/1978 32.2 20.8 NaN 02/12/1978 32.2 20.6 NaN 03/12/1978 31.6 22 NaN 04/12/1978 28.2 19.4 NaN 05/12/1978 29.8 22.8 24.6 06/12/1978 32 22.2 25.8 07/12/1978 32.8 23.2 NaN 08/12/1978 29.8 NaN 26.8 09/12/1978 31.4 21.4 25.4 10/12/1978 28.8 24 NaN 11/12/1978 30.8 20 NaN 12/12/1978 32 24 25.6 13/12/1978 33 23.2 25.8 14/12/1978 32.4 22.4 24.6 15/12/1978 30 20.6 NaN 16/12/1978 32.6 21.2 NaN 17/12/1978 33 23.4 NaN 18/12/1978 30.4 20.4 26.4 19/12/1978 32 22.2 NaN 20/12/1978 32.2 NaN NaN 21/12/1978 32.8 22.8 NaN 22/12/1978 32 22.2 NaN 23/12/1978 32.2 NaN NaN 24/12/1978 31.4 NaN NaN 25/12/1978 33 NaN 25.6 26/12/1978 33.4 20.6 NaN 27/12/1978 33.6 22.2 NaN 28/12/1978 33.6 23.4 NaN 29/12/1978 33.8 23.4 NaN 30/12/1978 33.2 NaN 25.2 31/12/1978 33.6 23.4 25.2
df.resample('1MS', how='mean')
结果是:
01/12/1978 31.9 22.1 25.5
但是 Sr_3 有超过 10 个 NaN 值,所以结果一定是 NaN。
谢谢
【问题讨论】:
标签: pandas resampling