按条件拆分DataFrame列值并提取首值:餐厅连锁分组实现
解决方法
你的代码逻辑有误,用str.split('Subway', 0, expand=True)会把字符串按"Subway"分割,得到的是空值和后面的编号片段,完全达不到保留"Subway"的目的。以下是几种可行的处理方式:
按空格分割取首元素:如果所有门店名的品牌都是第一个单词,直接按空格分割后取第一个元素就行,通用性强:
data['STORE_NAME'] = data['STORE_NAME'].str.split().str[0]直接赋值(仅适用于所有条目都是Subway的情况):如果确定这一列全是Subway的门店,直接统一赋值更简单:
data['STORE_NAME'] = 'Subway'正则精准提取:用正则表达式提取开头的"Subway",适合需要精准匹配品牌名的场景:
data['STORE_NAME'] = data['STORE_NAME'].str.extract('^(Subway)', expand=False)
内容的提问来源于stack exchange,提问作者Dom Munson
相关产品推荐
相关产品推荐

