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
相关推荐
外收内放5 小时前
Python基础语法练习题(49-50)
开发语言·python
Cc.Y5 小时前
Java零基础入门:集合框架:ArrayList 与 LinkedList —— 告别数组的“死板“,拥抱动态容器的“灵活
java·开发语言·python
FYKJ_20105 小时前
springboot游泳馆管理系统79222-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
panxianren13 小时前
Bun 1.4 的 bun test --parallel 将 4 秒的测试套件缩短到约 1 秒
java·javascript
“AI国潮设计-小江”14 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
wenwen_chao15 小时前
Python学习与开发资源合集:实用技巧与工具推荐
python
陈随易15 小时前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
for_ever_love__16 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司16 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*16 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain