关于python:根据多个条件替换列中的所有值

replace all values in a column, based on multiple conditions

本问题已经有最佳答案,请猛点这里访问。

我有一个和这个问题类似的问题。但是,在不同的条件下,我需要替换同一列中的值。类似下面的代码

1
2
for item in items:
    df.loc[df['A'] == item,'A'] = 'other'

其中,items是一个具有不同字符串的列表,需要用"a"列中的"other"替换这些字符串。问题是我的数据框架非常大,而且这种方法非常慢。有更快的方法吗?


使用pd.Series.isin按单个布尔序列进行索引:

1
df.loc[df['A'].isin(items), 'A'] = 'other'

逻辑中的瓶颈是循环中的df['A'] == item。上述方法确保只计算一个布尔序列进行索引。