熊猫的sort_values函数不能按预期工作?

时间:2019-07-16 01:32:12

标签: python pandas

我有一个由6列组成的数据框,我正在尝试对“样本类型”列进行排序。 我的数据框如下所示:

df = pd.DataFrame({'Sample ID': [1,2,3], 'Sample Type':[Metastatis, Metastasis, Primary],
})

我使用了sort_values()函数,如下所示:

df.sort_values(by = ['Sample Type'])

我希望看到的是数据框在“样本类型”列上已排序,并返回按字母顺序排序的数据框。 但是,返回的是带有交替样本类型的数据框,该数据框清楚地表明并未发生我期望的排序。

我使用该功能不正确吗?请指出我忽略的任何错误。谢谢

2 个答案:

答案 0 :(得分:0)

df = pd.DataFrame({'Sample ID': [1,2,3], 'Sample Type':['Metastatis', 'Metastasis', 'Primary'],
})

df

    Sample ID   Sample Type
0   1           Metastatis
1   2           Metastasis
2   3           Primary

df.sort_values(by='Sample Type')

    Sample ID   Sample Type
1   2           Metastasis
0   1           Metastatis
2   3           Primary

df.sort_values(by='Sample Type', ascending=False)

Sample ID   Sample Type
2       3   Primary
0       1   Metastatis
1       2   Metastasis

答案 1 :(得分:0)

同时使用ascendinginplace

df = pd.DataFrame({'Sample ID': [1,2,3], 'Sample Type':['Metastatis', 'Metastasis', 
   'Primary'],})
df.sort_values(['Sample Type'], ascending=False, inplace=True)
df

输出

Sample ID   Sample Type
   2    3   Primary
   0    1   Metastatis
   1    2   Metastasis