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

能否用ML/NLP与Python识别邮箱用户名生成模式并统计导出?

解决方案:识别邮箱命名模式并导出至Excel

核心思路

先提取邮箱@符号前的本地部分,再与对应的名、姓做对比,归纳出常见的命名模式(如首字母组合、缩写+全拼等),统计每种模式的受众数量,最后将结果导出至Excel表格。

实现步骤及代码示例

1. 安装依赖库

需要用到pandas处理数据和导出Excel,collections统计模式数量:

pip install pandas

2. 数据处理与模式识别

以下是完整的可运行代码,包含模式匹配逻辑:

import pandas as pd
from collections import defaultdict

# 替换为你的实际数据集
data = {
    'First Name': ['John', 'Emily', 'Harry', 'Michael', 'Sarah'],
    'Last Name': ['Jacobs', 'Queens', 'Smith', 'Brown', 'Miller'],
    'Email': ['jj@xyz.com', 'eq@pqr.com', 'hsm@abc.com', 'mb@def.com', 'sm@ghi.com']
}

df = pd.DataFrame(data)

# 定义模式匹配函数
def get_email_pattern(row):
    fn = row['First Name'].lower()
    ln = row['Last Name'].lower()
    local_part = row['Email'].split('@')[0].lower()
    
    # 匹配常见模式,可根据实际情况扩展
    if local_part == f"{fn[0]}{ln[0]}":
        return "名首字母+姓首字母"
    elif local_part == f"{fn[0]}{ln}":
        return "名首字母+完整姓"
    elif local_part == f"{fn}{ln[0]}":
        return "完整名+姓首字母"
    elif local_part == f"{ln[0]}{fn[0]}":
        return "姓首字母+名首字母"
    elif local_part == f"{fn[:2]}{ln[:1]}":
        return "名前两位+姓首字母"
    else:
        return "其他模式"

# 为每条数据标记对应模式
df['Pattern'] = df.apply(get_email_pattern, axis=1)

# 统计每种模式的数量
pattern_count = df['Pattern'].value_counts().reset_index()
pattern_count.columns = ['模式', '数量']

# 收集每种模式的示例
pattern_samples = defaultdict(list)
for _, row in df.iterrows():
    pattern_samples[row['Pattern']].append(f"{row['First Name']} {row['Last Name']}: {row['Email']}")

# 将示例合并到统计结果中
pattern_count['示例'] = pattern_count['模式'].apply(lambda x: '; '.join(pattern_samples[x]))

3. 导出至Excel

使用pandas直接导出统计结果:

# 导出到Excel文件
pattern_count.to_excel('邮箱模式统计结果.xlsx', index=False)
print("统计结果已成功导出至Excel!")

扩展说明

  • 代码中的模式判断逻辑可以根据你的数据集特点扩展,比如增加“完整名+完整姓”“姓全拼+名首字母”等更多模式。
  • 如果数据集规模较大,可将apply方法替换为向量化操作提升运行效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:45:31