[英]String replace in python using if statement
尝试根据列值替换字符串,得到错误 ValueError: The truth value of a Series 不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
if df['Target'] == 'U':
df['Target'] = df['Action']
获取错误值错误:系列的真值不明确。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
只是我需要检查字符串并在匹配时将其替换为另一个列值
使用np.where
前任:
import numpy as np
df['Target'] = np.where(df['Target'] == "U", df['Action'], df['Target'])
您可以使用pandas.DataFrame.loc
:
df.loc[df["Target"] == 'U', "Target"] = df["Action"]
您还可以使用pandas.DataFrame.where
df["Target"].where(df["Target"] != 'U', df["Action"], inplace = True)
请注意,在这种情况下,不满足条件的细胞所取代,这就是为什么你必须使用!=
而不是==
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.