我想基于其他列中的值来填充列的空值。
A B
1 21
0 21
0 21
1 25
1 28
0 28
只有当A值为1时,我的B值才会增加。
所以我在A列中有一些空值,例如
A B
1 21
0 21
NAN 21
1 25
1 28
0 28
我想用0填充此空值,因为B的对应值没有增加。
df['A'] = np.where((df['A'].isnull()) & (df['B'] ==df['B'].shift()),0,df['A'])
这没有给出正确的结果。我要去哪里错了
答案 0 :(得分:0)
loc
在这里可能会更好。
df.loc[(df['A'] == np.nan) & (df['B'] == df['B'].shift(-1)),'A'] = 0
# I havent checked if the shift needs to be -1 or 1