【问题标题】:How to order dataframe using a list in pandas如何使用熊猫中的列表对数据框进行排序
【发布时间】:2020-06-24 02:43:17
【问题描述】:

我有一个如下的熊猫数据框。

import pandas as pd
data = [['Alex',10, 175],['Bob',12, 178],['Clarke',13, 179]]
df = pd.DataFrame(data,columns=['Name','Age', 'Height'])
print(df)

我还有一个清单如下。

mynames = ['Emj', 'Bob', 'Jenne', 'Alex', 'Clarke']

我想按照mynames 列表的顺序对我的数据框的行进行排序。也就是说,我的输出应该如下。

   Name  Age  Height
0   Bob   12     178
1   Alex   10     175  
2  Clarke   13     179

我试图这样做如下。我想知道在熊猫中是否有比将数据框转换为列表更简单的方法。

如果需要,我很乐意提供更多详细信息。

【问题讨论】:

标签: pandas


【解决方案1】:

你可以做到pd.Categorical + argsort

df=df.loc[pd.Categorical(df.Name,mynames).argsort()]
     Name  Age  Height
1     Bob   12     178
0    Alex   10     175
2  Clarke   13     179

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 2021-10-08
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多