一个dataframe如何按照另一个列表中有相同的数排序

如果你想根据一个列表中的值对一个DataFrame进行排序,你可以使用Pandas的sort_values方法。以下是一个简单的例子:

假设你有以下DataFrame:

import pandas as pd  
  
data = {  
    'A': [1, 2, 3, 4, 5],  
    'B': ['a', 'b', 'c', 'd', 'e']  
}  
  
df = pd.DataFrame(data)  
print("原始DataFrame:")  
print(df)

现在,假设你有一个列表order_list,你想要根据列表中的值对A列进行排序:

order_list = [2, 1, 4, 3, 5]

你可以这样做:

df_sorted = df.sort_values(by='A', key=lambda x: order_list)  
print("排序后的DataFrame:")  
print(df_sorted)

这里的关键是使用key参数。key参数接收一个函数,该函数应用于要排序的列。在这种情况下,我们传递了一个匿名函数(lambda函数),它根据order_list中的值对A列进行排序。

你可能感兴趣的:(python数据处理,python)