我有一个大熊猫数据集,在不同的列中有几个NaN值。每个NaN值都有一个关联的ID,我想用关联的id值来计算这些NaN值。例如,考虑:
ID COL
1 23
1 NaN
1 NaN
1 NaN
1 NaN
2 21
2 NaN
2 NaN
2 NaN
3 25
3 NaN
3 NaN正如您所看到的,1与23相关联,因此,所有具有1的is都必须与23一起计算,因此对于其他情况,其中一种是这样的。例如,预期产出将是:
ID COL
1 23
1 23
1 23
1 23
1 23
2 21
2 21
2 21
2 21
3 25
3 25
3 25我怎么才能对熊猫做这样的操作呢?我的问题是,我不知道如何处理以前的值,并用它的id替换它。
更新
在阅读了这个问题和其他相关问题的答案后,我试图:
df.sort_values(['ID','COL']).ffill()然而,这是行不通的。它并不是用那些与ID相关的值来替换,原因是我的COL值可能是字符串。知道怎么处理这事吗?
发布于 2018-04-23 17:52:59
sort_values与ffill
df.COL=df.sort_values(['ID','COL']).COL.ffill()
Out[381]:
ID COL
0 1 23.0
1 1 23.0
2 1 23.0
3 1 23.0
4 1 23.0
5 2 21.0
6 2 21.0
7 2 21.0
8 2 21.0
9 3 25.0
10 3 25.0
11 3 25.0https://stackoverflow.com/questions/49987108
复制相似问题