我有这个df
:
CODE MONTH_DAY TMAX_x
0 113250 01-01 nan
1 113250 01-02 nan
2 113250 01-03 nan
3 113250 01-04 nan
4 113250 01-05 nan
... ... ...
16975 47E94706 12-27 22.4
16976 47E94706 12-28 21.1
16977 47E94706 12-29 23.2
16978 47E94706 12-30 24.9
16979 47E94706 12-31 24.4
[16980 rows x 3 columns]
我想删除列中具有特定代码值的CODE
行,仅当它们的所有TMAX_x
值都是 nan 时。
例如:如果所有CODE
等于 133250 的TMAX_x
行在 i 中只有 nan 值,则必须删除这些行。(TMAX_x
对于特定CODE
值,列中必须有所有值 nan ,如果至少有 1 个值与 nan 不同,则TMAX_x
i 不得删除任何行)。
预期结果:
CODE MONTH_DAY TMAX_x
... ... ...
16975 47E94706 12-27 22.4
16976 47E94706 12-28 21.1
16977 47E94706 12-29 23.2
16978 47E94706 12-30 24.9
16979 47E94706 12-31 24.4
提前致谢。
您可以使用groupby
后跟filter
来保留在 TMAX_x 列中至少具有一个非空值的组:
df.groupby('CODE').filter(lambda gp: gp.TMAX_x.notna().any())
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句