我有一个基于不同气象站的数据集,用于几个变量(温度,压力等),
stationID | Time | Temperature | Pressure |...
----------+------+-------------+----------+
123 | 1 | 30 | 1010.5 |
123 | 2 | 31 | 1009.0 |
202 | 1 | 24 | NaN |
202 | 2 | 24.3 | NaN |
202 | 3 | NaN | 1000.3 |
...
Run Code Online (Sandbox Code Playgroud)
我想删除'stationID'组,其中包含超过一定数量的NaN(考虑到计数中的所有变量).
如果我试试,
df.loc[df.groupby('station')['temperature'].filter(lambda x: len(x[pd.isnull(x)] ) < 30).index]
Run Code Online (Sandbox Code Playgroud)
它的工作原理如下所示:Python pandas - 根据NaN计数阈值删除组
但是上面的例子只考虑了"温度".那么,我如何考虑可用变量的NaN的总和?即:我想删除一个组,其中[variable1,variable2,variable3,...]中的NaN的总和小于阈值.