我有一个pandas数据框,其中某些行未正确插入,因此这些值被推到下一列。因此,我有一列几乎为空,但在少数情况下前一列中应该有一个值。以下是其外观的示例。
我需要用NeedtoDelete列中的JJones替换Approver列中的12345和45678。
我不确定for循环或正则表达式是否正确。我还遇到了replace函数,但是我不确定在这种情况下如何设置它。下面是到目前为止我尝试过的代码(Q1Q2是df名称):
for Q1Q2['Approver'] in Q1Q2:
Replacement = Q1Q2.loc[Q1Q2['Need to Delete'].notnull()]
Q1Q2.loc[Replacement] = Q1Q2['Approver']
Q1Q2.loc[Q1Q2['Need to Delete'].notnull(), ['Approver'] == Q1Q2['Need to Delete']]
如果您可以帮助我解决上述问题,或者为我指明正确的方向,将不胜感激。预先感谢!
答案 0 :(得分:0)
您可以使用boolean indexing:
r=Q1Q2['Need to Delete'].notnull()
Q1Q2.loc[r,'Approver']=Q1Q2.loc[r,'Need to Delete']