我有一个格式的数据框
USER | ADDRESS | PURCHASE
1 | add 1 | A
1 | NaN | B
2 | NaN | C
2 | add 2 | D
3 | NaN | E
对于用户1,我想用添加1填充NaN行中的地址,并且我想对NaN行的用户2进行相同的操作。我不想分组,我想保留4行格式。只想填写NAN地址。对于没有匹配项的用户3,我想将其保留为NaN。
我尝试过按用户分组,但最终会填满所有内容并将所有内容放在一起,这不是我想要的
没有代码
我只想相应地为每个用户填写地址
答案 0 :(得分:2)
我不确定分组的问题是什么,但是当您要“按组”填充缺失值时,您需要使用groupby
df['ADDRESS'] = df.groupby('USER').ADDRESS.apply(lambda x: x.ffill().bfill())
USER ADDRESS PURCHASE
0 1 add 1 A
1 1 add 1 B
2 2 add 2 C
3 2 add 2 D
4 3 NaN E
答案 1 :(得分:0)
df ['ADDRESS'] = np.where(df ['ADDRESS']。isnull()),df ['PURCHASE'],df ['ADDRESS'])