使用if语句在python中替换字符串

时间:2019-05-20 06:41:48

标签: python pandas

尝试根据列值替换字符串,但出现错误 ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

if df['Target'] == 'U':
   df['Target'] = df['Action'] 

获取错误 ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

我需要检查字符串,如果匹配则用另一个列值替换

2 个答案:

答案 0 :(得分:2)

使用np.where

例如:

import numpy as np

df['Target'] = np.where(df['Target'] == "U", df['Action'], df['Target'])

答案 1 :(得分:0)

您可以使用pandas.DataFrame.loc

URL::defaults(['subdomain' => ....]);

您也可以使用pandas.DataFrame.where

subdomain

请注意,在这种情况下,满足条件的单元格将被替换,这就是为什么您必须使用str.replace而不是wb['col'] = wb['col'].str.replace('^(\S+) (\S+)', '\1, \2,') 的原因。