Pandas DataFrame 按字符串列表排序:详细指南和示例代码
要根据某字符串列表对 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。
原文地址: https://www.cveoy.top/t/topic/GlS 著作权归作者所有。请勿转载和采集!