使用基于表中其他列的良好数据替换空字段

2024-10-08 18:22:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧df

    A   B   C  Value
0   10  aa  MN     5
1   10  aa  NaN    6
2   12  bb  MN     5
3   13  cc  BK     7
4   13  cc  Nan    8
5   14  cc  SI     8

我试图清除日期,以便在A列和B列相同的情况下,将C分配给匹配的值,并将行和和C相加

    df:
    A   B   C  Value
0   10  aa  MN     11
1   12  bb  MN     5
2   13  cc  BK     15
3   14  cc  SI     8

应该注意的是,只有列C具有NaN值。所有这三个值都应该是唯一的组,但不是唯一的组。 在我的Jupyterbook中我将如何做到这一点


Tags: 数据dfvalue情况nanbkaacc
2条回答

我最后做的是使用ffill()和group_by以及sum()来获得我需要的表

df = df.ffill()
df = df.groupby(['A','B','C']).Value.sum().reset_index()
df_incident_local_count.head()

        df:
    A   B   C  Value
0   10  aa  MN     11
1   12  bb  MN     5
2   13  cc  BK     15
3   14  cc  SI     8

我不知道评论到哪里去了,但有人推荐了ffill()。这归功于那个陌生人

为“c”和“value”提供聚合函数。然后分组汇总

agg_func = {'c': 'max', 'value':'sum'}
df_new = df.groupby(['a', 'b']).agg(agg_func)

相关问题 更多 >

    热门问题