Python DataFrame多门店重命名操作能否用单行代码实现
单行实现门店列批量重命名的方案
完全可以用一行代码替代原4次逐条件赋值的操作,匹配你当前"给单字母门店名前统一加Store_前缀"的修改逻辑,常用可落地的写法有3种:
- 性能最优、代码最短的写法:
data1['Store'] = 'Store_' + data1['Store']
该写法无需逐值判断匹配,通过字符串直接拼接生成列值,运行速度远高于逐次条件赋值。 - 灵活适配定制映射的写法:
data1['Store'] = data1['Store'].map({'A': 'Store_A', 'B': 'Store_B', 'C': 'Store_C', 'D': 'Store_D'})
适合后续需要单独调整某几个门店对应规则、不需要统一加前缀的场景。 - 和原loc逻辑兼容性最高的写法:
data1['Store'] = data1['Store'].replace({'A': 'Store_A', 'B': 'Store_B', 'C': 'Store_C', 'D': 'Store_D'})
不会对列里原本就符合要求的取值产生额外修改。
代码注意事项:你原片段里的字典定义存在语法缺漏,Store、Location字段对应的列表漏写了开头的
[;实例化DataFrame时的pn是pandas的常见简写笔误,实际运行需要补全列表方括号、将实例化代码修正为data1 = pd.DataFrame(dict1)才能正常生成DataFrame。
内容的提问来源于stack exchange,提问作者vikram chaudhari
相关产品推荐
相关产品推荐

