You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Pandas DataFrame的字符串(对象)列中提取字母

Pandas 提取字符串列字母并去重大写的实现
  • 需求明确:从混合字母和数字的字符串列里,提取所有字母,转成大写后按首次出现的顺序去掉重复字母,生成目标新列。对应示例:

    输入值:GE5000341、R22256544443、PDalirnamm、AAddda
    预期输出:GE、R、PDALIRN、AD

  • 直接可用的代码:
    用Pandas配合自定义函数就能实现:

    import pandas as pd
    
    # 构造示例数据,实际替换成你的DataFrame即可
    df = pd.DataFrame({
        'original': ['GE5000341', 'R22256544443', 'PDalirnamm', 'AAddda']
    })
    
    def clean_string(s):
        # 提取所有字母并转为大写
        all_letters = ''.join([c for c in s if c.isalpha()]).upper()
        # 去重并保留首次出现的顺序
        unique_chars = []
        seen = set()
        for char in all_letters:
            if char not in seen:
                seen.add(char)
                unique_chars.append(char)
        return ''.join(unique_chars)
    
    # 生成目标新列
    df['target_col'] = df['original'].apply(clean_string)
    
    # 查看结果
    print(df)
    
  • 代码逻辑拆解:

    1. 提取字母:用列表推导式直接筛选字符串中的字母,拼接后转大写,比正则表达式更简洁直观。
    2. 去重处理:用集合记录已出现的字母,遍历大写后的字母串,仅保留首次出现的字符,保证顺序不变。
    3. 列应用:通过apply将处理函数作用到原始列的每一行,生成目标新列。

内容的提问来源于stack exchange,提问作者Isaacnfairplay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 19:10:30