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

如何用Python按CSV列中关键词分组银行交易记录

按描述中的关键词分组银行交易记录

方法1:提取描述开头的关键词(适合关键词在最前方的情况)

如果交易描述都是「关键词 + 其他内容」的格式(比如示例里的AMZN MKTP US*1V4KI6LV3 09/01 PURCHASE LVNV),可以直接提取描述的第一个单词作为分组依据:

import pandas as pd

# 读取CSV文件
test = pd.read_csv('你的账单文件.csv')

# 处理描述列的多余空格(可选,避免拆分出错)
test['Description'] = test['Description'].str.strip()

# 新增列存储提取的关键词,取描述的第一个元素
test['Category'] = test['Description'].str.split().str[0]

# 按新的Category列分组
grouped = test.groupby(['Category'])

# 遍历分组结果
for key, item in grouped:
    print(f'Key is: {key}')
    print(item, '\n\n')

方法2:匹配预设关键词列表(适合关键词位置不固定的情况)

如果关键词可能出现在描述任意位置,或者你想指定要匹配的关键词集合,可以先定义关键词列表,再用正则匹配提取:

import pandas as pd
import re

# 读取CSV文件
test = pd.read_csv('你的账单文件.csv')

# 预设需要匹配的关键词
keywords = ['AMZN', 'GOOGLE', 'STARBUCKS', 'WALMART']

# 用正则匹配关键词,忽略大小写,返回第一个匹配到的关键词
test['Category'] = test['Description'].str.extract(
    f'({"|".join(keywords)})', 
    flags=re.IGNORECASE, 
    expand=False
)

# 按Category分组(dropna=False保留未匹配到关键词的记录)
grouped = test.groupby(['Category'], dropna=False)

# 遍历分组结果
for key, item in grouped:
    print(f'Key is: {key}')
    print(item, '\n\n')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:22:59