weixin_41998727 2022-07-16 16:26 采纳率: 50%
浏览 75
已结题

pandas中对于文本列包含关键字情况的判断与分类

对一份订单数据的报错进行原因分类,样例数据如下:

import pandas as pd
df = pd.DataFrame({
'WrongCode': ['t提交失败,接口异常', '不可能购买多个指定商品', '商品不存在', '商品配置错误', '接口超时','未知原因'],
'OrderNum': ['1001', '1004', '1007', '1009', '1111','1119']})
起初想尝试自定义函数,通过str.contains来判断WrongCode里的关键字出现情况,但是失败,看了原因大致理解了,只能采用in的方式,也是解决了,但是真实数据量较大,写起来挺费劲也不易读,
def wrong_cl(description):
wrong_dict = {'报错':'互斥','流量包':'套餐'}
for i in wrong_dict:
if i in description:
return wrong_dict[i]
return None

想请教有没有好的解决方式,最好是可以直接自定义函数正则判断。

img

  • 写回答

1条回答 默认 最新

  • 快乐小土狗 2022-07-16 17:28
    关注
    
    df.apply(wrong_cl ,axis=1)
    import re
    def wrong_cl(data):
        issue = re.findall(r'.*?(接口|商品).*?', data['WrongCode'])
        if len(issue) == 0:
            return '未知'
        elif issue[0] == '接口':
            return '接口报错'
        elif issue[0] == '商品':
            return '商品报错'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月31日
  • 已采纳回答 7月23日
  • 创建了问题 7月16日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀