26  sort

26.1 通过某列正则提取的数字排序

import pandas as pd

# 创建一个示例数据框
data = {
    '文件名': ['file1.txt', 'file10.txt', 'file2.txt', 'file20.txt', 'file3.txt']
}

df = pd.DataFrame(data)

df
文件名
0 file1.txt
1 file10.txt
2 file2.txt
3 file20.txt
4 file3.txt
# 提取文件名中的数字
df['数字'] = df['文件名'].str.extract('(\d+)').astype(int)

# 按照提取的数字排序
df = df.sort_values(by='数字')

df
文件名 数字
0 file1.txt 1
2 file2.txt 2
4 file3.txt 3
1 file10.txt 10
3 file20.txt 20