Pandas的sort\u值功能没有按预期工作?

2024-06-16 11:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我使用了sort\u values()函数,如下所示:

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

我希望看到的是数据帧在Sample Type列上排序,返回按字母顺序排序的数据帧。 然而,返回的是具有交替样本类型的数据帧,这清楚地表明我所期望的排序没有发生。你知道吗

我是否使用了错误的函数?请指出我忽略的任何错误。谢谢


Tags: 数据sample函数iddataframedf排序type
2条回答
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

同时使用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

相关问题 更多 >