大熊猫有条件的替代品

时间:2017-04-03 23:44:52

标签: python pandas

我正计划提高非熊猫开发者的可读性; 我使用.loc

获得以下工作 Python代码
new_value = 'stackoverflow'
s_query = 'nbc'
SUGGESTED = 'suggested'
QUERY = 'query'
df.loc[(df[QUERY] == s_query), [SUGGESTED]] = new_value

还可以选择:

new_value = 'stackoverflow'
s_query = 'nbc'
SUGGESTED = 'suggested'
QUERY = 'query'
df[SUGGESTED] = df[SUGGESTED].mask(df[QUERY] == s_query, new_value)

在这种情况下,df[SUGGESTED]列将更新为匹配'stackoverflow'的行的df[QUERY] == s_query值。 想知道Pandas中是否还有其他选项可以达到相同的效果。

1 个答案:

答案 0 :(得分:2)

您可以使用pd.DataFrame.mask姐妹方法pd.DataFrame.where,它会使False s nan并填写第二个参数

df[SUGGESTED] = df[SUGGESTED].where(df[QUERY] != s_query, new_value)

或者

df.update(df[QUERY].eq(s_query).map({True: new_value}))