如何提取Pandas列中特定字符串并生成新列?
提取Pandas DataFrame中ASIN字符串内容到新列
下面是几种简单直接的方法,帮你把目标列里asin="XXX"格式的字符串提取出XXX部分,存入新列:
方法1:字符串替换
直接移除固定前缀asin="和后缀",适合格式完全统一的情况:
# 替换成你DataFrame中实际的目标列名,比如原列叫'ASIN'就改成df['ASIN'] df['Extracted_ASIN'] = df['目标列名'].str.replace('asin="', '').str.replace('"', '')
方法2:正则表达式提取(推荐)
用正则精准捕获引号内的内容,即使列里有少量格式不一致的行,也能正确提取符合规则的内容,不符合的会返回NaN方便后续处理:
df['Extracted_ASIN'] = df['目标列名'].str.extract(r'asin="(.*?)"', expand=False)
这里正则r'asin="(.*?)"'的(.*?)是非贪婪捕获组,只会提取两个引号之间的内容,避免匹配到多余字符。
方法3:字符串分割
按双引号分割字符串,取分割后的第二个元素(索引为1):
df['Extracted_ASIN'] = df['目标列名'].str.split('"').str[1]
验证结果
处理完后可以用df.head()查看新列是否生成成功:
print(df.head())
内容的提问来源于stack exchange,提问作者Shamna Sama
相关产品推荐
相关产品推荐

