用分组值替换 Nan

时间:2021-03-09 06:30:56

标签: pandas dataframe

我有以下数据框:

df

 Index key1 | key2 | key3 | value1 | Value2   
 0    1     | 3    | 4    | 6      |  4 
 1    1     | 3    | 4    | Nan    |  3 
 2    1     | 2    | 3    | 8      |  6
 3    1     | 2    | 3    | Nan    |  5
 4    5     | 7    | 1    | Nan    |  2 

对于具有相同键(key1、key2、key3)的值,我想使用数值,每当没有数值时,我想删除该行。对于 value2,我只想要总和。

想要的 df

Index key1 | key2 | key3 | value1 | value2    
 0    1    | 3    | 4    | 6      | 7
 2    1    | 2    | 3    | 8      | 11

保留正确的索引并不重要。

这里的逻辑是有两组 (key1, key2, key3)value1 中具有非 NaN 值。有第三组 key1, key2, key3 = 5, 7, 1,我想删除它,因为该组中没有 value1 的非 NaN 值。

在每个组中,用组中的非 NaN value1 值替换 value1(如果是 NaN)。最后,计算 value2 为组中所有 value2 值的总和。

0 个答案:

没有答案