按长度和字母数字顺序对pandas数据帧的列进行排序
创始人
2024-08-23 08:00:15
0

要按照长度和字母数字顺序对pandas数据帧的列进行排序,可以按照以下步骤操作:

  1. 导入必要的库:
import pandas as pd
import re
  1. 创建一个示例数据帧:
data = {'col1': ['a', 'bb', 'ccc', 'dddd'],
        'col2': ['1', '22', '333', '4444'],
        'col3': ['A1', 'B2', 'C3', 'D4']}
df = pd.DataFrame(data)
  1. 创建一个函数来获取字符串的长度和字母数字顺序:
def get_len_alnum(s):
    length = len(s)
    alnum = re.sub('\W+', '', s)
    return (length, alnum)
  1. 使用apply函数将该函数应用于数据帧的每一列:
df = df.apply(lambda x: pd.Series(get_len_alnum(x)))
  1. 对数据帧进行排序,先按长度进行排序,再按字母数字顺序进行排序:
df = df.sort_values(by=[0, 1], axis=1)

完整的示例代码如下:

import pandas as pd
import re

data = {'col1': ['a', 'bb', 'ccc', 'dddd'],
        'col2': ['1', '22', '333', '4444'],
        'col3': ['A1', 'B2', 'C3', 'D4']}
df = pd.DataFrame(data)

def get_len_alnum(s):
    length = len(s)
    alnum = re.sub('\W+', '', s)
    return (length, alnum)

df = df.apply(lambda x: pd.Series(get_len_alnum(x)))
df = df.sort_values(by=[0, 1], axis=1)

这将按照列中字符串的长度和字母数字顺序对数据帧的列进行排序。

相关内容

热门资讯

三分钟辅助!wpk真吗,pok... 三分钟辅助!wpk真吗,pokermaster辅助器,操作教程(有挂技巧);1、三分钟辅助!wpk真...
1分钟辅助!wepoker游戏... 1分钟辅助!wepoker游戏的安装教程,We poker辅助器下载,操作教程(有挂存在)1、wep...
第八分钟辅助!wepoker透... 第八分钟辅助!wepoker透视底牌脚本,德普之星怎么设置埋牌,手段教程(有挂教学)1、全新机制【德...
第3分钟辅助!wepoker透... 第3分钟辅助!wepoker透视最简单三个步骤,wepokerplus作弊,绝活教程(有挂详情)运w...
九分钟辅助!steampoke... 九分钟辅助!steampokermaster辅助,wpk作弊是真的吗,妙计教程(有挂教程)1、ste...
7分钟辅助!wepokerpl... 7分钟辅助!wepokerplus外挂,wepoker开辅助能查到吗,方式教程(的确有挂)1、全新机...
第九分钟辅助!wepoker辅... 第九分钟辅助!wepoker辅助软件视频,wpk透视是真的吗,窍要教程(有挂透明挂)1、游戏颠覆性的...
4分钟辅助!wepoker俱乐... 4分钟辅助!wepoker俱乐部辅助器,wepoker线上大神,手筋教程(有挂详细)一、wepoke...
3分钟辅助!xpoker辅助控... 3分钟辅助!xpoker辅助控制,wepoker破解器激活码,绝活儿教程(有挂秘诀)在进入wepok...
1分钟辅助!pokemmo手机... 1分钟辅助!pokemmo手机辅助软件,pokerworld辅助器,练习教程(有挂攻略)1、玩家可以...