【发布时间】:2021-03-24 06:34:59
【问题描述】:
我有这个 df:
CODE DATE TMAX TMIN PP
0 000130 1991-01-01 32.6 23.4 0.0
1 000130 1991-01-02 31.2 22.4 0.0
2 000130 1991-01-03 32.0 NaN 0.0
3 000130 1991-01-04 32.2 23.0 0.0
4 000130 1991-01-05 30.5 22.0 0.0
... ... ... ... ...
10865 000130 2020-12-31 NaN NaN NaN
10866 000132 1991-01-01 35.2 NaN 0.0
10867 000132 1991-01-02 34.6 NaN 0.0
10868 000132 1991-01-03 35.8 NaN 0.0
10869 000132 1991-01-04 34.8 NaN 0.0
仅当一个月内有 5 个或更多连续 NaN 值时,我才想将月度数据转换为 NaN。
例如:如果 1991 年 1 月在 TMAX 列中有 5 个或更多连续的 NaN 值,则必须将 1991 年 1 月 TMAX 列的所有值转换为 NaN。每年的每个月都一样。我需要通过 CODE 执行此操作(每个 CODE 值都有 1991 年 1 月、1991 年 2 月、... 2020 年 12 月的 TMAX 数据)。所以我首先考虑使用df.groupby['CODE']。有371个代码。
对于 PP 列,仅当一个月中有 3 个或更多非连续 NaN 值时,我才需要将月度数据转换为 NaN。例如:如果 1991 年 1 月在 PP 列中有 3 个非连续 NaN 值,则必须将 1991 年 1 月 TMAX 列的所有值转换为 NaN。每年的每个月都一样。我也需要通过 CODE 来完成。
我是 python 初学者,所以我将不胜感激。
提前致谢。
【问题讨论】:
标签: pandas