首页 > 解决方案 > 根据另一列中的 ID 列表替换一列的值

问题描述

我想替换 Store 列的值,但仅限于列表中的特定 ID(这可能是数千个 ID 的列表)

ID#     Fruit      Store 
1234    Apple      Whole Foods
4567    Banana     Trader Joe's
6789    Apple      Trader Joe's
7890    Kiwi       Shop Rite

我只想将列表中的 ID# ['1234,'6789','7890'] 商店名称更改为“沃尔玛”

所需的数据框:

ID#     Fruit      Store 
1234    Apple      Walmart
4567    Banana     Trader Joe's
6789    Apple      Walmart
7890    Kiwi       Walmart

在 python/pandas 中最快的方法是什么?

谢谢!

标签: pythonpandas

解决方案


使用 loc 访问isin

df.loc[df['ID#'].isin( ['1234','6789','7890']), 'Store'] = 'Walmart'

输出:

    ID#   Fruit         Store
0  1234   Apple       Walmart
1  4567  Banana  Trader Joe's
2  6789   Apple       Walmart
3  7890    Kiwi       Walmart

推荐阅读