根据同一数据框内另一列中的值替换数据框列中的值

时间:2019-09-11 20:19:13

标签: python pandas dataframe replace

我有一个pandas数据框,其中某些行未正确插入,因此这些值被推到下一列。因此,我有一列几乎为空,但在少数情况下前一列中应该有一个值。以下是其外观的示例。

enter image description here

我需要用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']]

如果您可以帮助我解决上述问题,或者为我指明正确的方向,将不胜感激。预先感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用boolean indexing

r=Q1Q2['Need to Delete'].notnull()
Q1Q2.loc[r,'Approver']=Q1Q2.loc[r,'Need to Delete']