按长度和字母数字顺序对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)

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

相关内容

热门资讯

玩家必看秘籍!wepoker怎... 您好,玩家必看秘籍!wepoker怎么设置盖牌,微扑克有挂吗平台(本然真的有透视)这款游戏可以开挂的...
大神推荐!wepoker免费脚... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
终于知道!!wepoker透视... 终于知道!!wepoker透视是真的吗,WPK软件下载下载(其实存在有开挂)AI 是一款可以让一直输...
科技教程!wepoker怎么发... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker怎么发冤家牌解析、 A...
热点推荐!!wpk显示有作弊,... 很多人使用云端 AI 时,都担心wpk显示有作弊、内部资料上传带来隐私风险。这款本地运行的 AI 黑...
玩家必备科普!wpk透视工作室... 玩家必备科普!wpk透视工作室,德扑之星外卦神器软件平台(切实有辅助挂)AI 是一款可以让一直输的玩...
重大通报!!德扑之星透视免费,... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星透视免费解析、 AI 处理、...
解密关于!WPK德州局,德普之... WPK德州局AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,断网...
玩家攻略!wepoker代打辅... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker代打辅助解析、 AI ...
热点推荐!!有哪些免费的wpk... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...