python对含数字的列名排序和去重

目录

问题描述:

'kw_`85`-1_Avg', 'kw_`85`-2_Avg', 'kw_70-1_Avg', 'kw_70-2_Avg', 'kw_50-3_Avg', 'kw_10-4_Avg'

将第一个数字重复的字符串(如:'kw_85-1_Avg', 'kw_85-2_Avg'),

删除一个,保留第二个数字最小的字符串(如:kw_85-1_Avg)

python 复制代码
def sort_column(columns):
    # 提取第一个数字部分,并存储到字典中
    first_digit_dict = {}
    for col in columns:
        match = re.match(r'ws_(\d+)-(\d+)_Avg', col)
        if match:
            key = match.group(1)  # 提取第一个数字部分
            if key not in first_digit_dict:
                first_digit_dict[key] = col
            else:
                # 如果有多个相同的key,选择优先级更高的列
                current_priority = int(first_digit_dict[key].split('-')[1].split('_')[0])
                new_priority = int(col.split('-')[1].split('_')[0])
                if new_priority < current_priority:
                    first_digit_dict[key] = col
    unique_columns = list(first_digit_dict.values())
    return unique_columns
相关推荐
kishu_iOS&AI3 小时前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财3 小时前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
wengqidaifeng3 小时前
python启航:1.基础语法知识
开发语言·python
观北海3 小时前
Windows 平台 Python 极简 ORB-SLAM3 Demo,从零实现实时视觉定位
开发语言·python·动态规划
|晴 天|4 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
FreakStudio4 小时前
做了个Claude Code CLI 电子宠物:程序员的实体监工代码搭子
python·单片机·嵌入式·面向对象·并行计算·电子diy·电子计算机
柴米油盐那点事儿4 小时前
python+mysql+bootstrap条件搜索分页
python·mysql·flask·bootstrap
猫3284 小时前
v-cloak
前端·javascript·vue.js
AC赳赳老秦4 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
旷世奇才李先生4 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js