如何提取CSV中genre列首个标签并保留无逗号行?
解决genre列提取首个标签并保留无逗号行的问题
方法1:调整正则表达式
你之前的正则^(.+?),强制要求字符串后必须有逗号,导致无逗号的行无法匹配,返回空值。可以修改正则来兼容两种情况:
# 匹配所有非逗号字符,直接提取首个标签 dataframe['genre'] = dataframe['genre'].str.extract('^([^,]+)')
或者用更灵活的写法,匹配到第一个逗号或行尾:
dataframe['genre'] = dataframe['genre'].str.extract('^(.+?)(?:,|$)')
方法2:用split方法更直观
直接按逗号分割字符串后取第一个元素,无需正则,逻辑更清晰:
dataframe['genre'] = dataframe['genre'].str.split(',').str[0]
内容的提问来源于stack exchange,提问作者Andrei Rex
相关产品推荐
相关产品推荐

