要根据某字符串列表对 DataFrame 的行进行排序,可以使用 pandas 的 Categorical 数据类型和 sort_values 函数来实现。以下是一个示例代码:

import pandas as pd

# 创建示例数据
data = {
    '列1': ['A', 'B', 'C', 'D', 'E'],
    '列2': [1, 2, 3, 4, 5],
    '列3': [6, 7, 8, 9, 10]
}
df = pd.DataFrame(data)

# 定义排序列表
sort_list = ['D', 'B', 'E', 'C', 'A']

# 将列1转换为Categorical数据类型,并指定排序列表的顺序
df['列1'] = pd.Categorical(df['列1'], categories=sort_list, ordered=True)

# 按照列1进行排序
df_sorted = df.sort_values(by='列1')

print(df_sorted)

在上述代码中,我们首先创建了一个示例的 DataFrame:df,其中包含了三列数据。

然后,我们定义了一个排序列表:sort_list,包含了需要按照顺序排序的字符串。

接着,我们使用 pd.Categorical 将 DataFrame 的'列1'列转换为 Categorical 数据类型,并指定排序列表的顺序。

最后,我们使用 sort_values 函数,指定排序依据的列为'列1',对 DataFrame 进行排序,生成排序后的 DataFrame:df_sorted。

执行上述代码后,将会打印出按照排序列表顺序排序后的 DataFrame。

Pandas DataFrame 按字符串列表排序:详细指南和示例代码

原文地址: https://www.cveoy.top/t/topic/GlS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录