Python Pandas:根据指定条件,将一列中的值替换为另一列中的值

时间:2019-10-12 16:36:48

标签: python pandas

我正在尝试根据指定条件用另一列中的值替换一列中的值。因此,对于pandas数据框中的每一行,其中第1列中的单元格值==未指定,我想用第2列中的值替换该单元格。

举个例子:

我想将“子类型”列(请参见下表)中的“未指定”单元格替换为“类型”列中的值。

因此将“未指定”分别替换为C和D。

请帮助告知实现该目标的代码行。 enter image description here

1 个答案:

答案 0 :(得分:0)

使用DataFrame.loc

df.loc[df['Subtype'].eq('Not Specified'),'Subtype']=df.loc[df['Subtype'].eq('Not Specified'),'Type']

DataFrame.mask

df['Subtype']=df['Subtype'].mask(df['Subtype'].eq('Not Specified'),df['Type'])

DataFrame.where

df['Subtype']=df['Type'].where(df['Subtype'].eq('Not Specified'),df['Subtype'])