我有以下数据集。
我有以下数据集。如您所见,A,B,D和R列中的某些值缺失。我将使用前一行中的精确值替换值。例如,在第4行中,缺少B列和R列的值,我需要用前一列中的21和2替换它们。
A B D R sentence ADR1 ADR2
135 21 EffexorXR.21 1 lack of good feeling. good feeling
0 0
136 21 EffexorXR.21 2 Feel disconnected disconnected feel
136 EffexorXR.21 0 0
142 22 EffexorXR.22 1 Weight gain gain
142 1 1
最终出局是这样的:
A B D R sentence ADR1 ADR2
135 21 EffexorXR.21 1 lack of good feeling. good feeling
135 21 EffexorXR.21 1 1 0
136 21 EffexorXR.21 2 Feel disconnected disconnected feel
136 21 EffexorXR.21 2 0 0
142 22 EffexorXR.22 1 Weight gain gain
142 22 EffexorXR.22 1 1
我可以使用copy,但我不知道如何在行之间进行迭代。有什么建议吗?
答案 0 :(得分:5)
如果缺失的值为ffill
s,则fillna
与方法ffill()
使用的内容与NaN
相同:
cols = ['A','B','D','R']
df[cols] = df[cols].ffill()
如果缺少的值是空字符串:
cols = ['A','B','D','R']
df[cols] = df[cols].replace('',np.nan).ffill()