python 中不区分大小写的排序

Case insensitive sorting in python

我有一个包含 X 行和 X 列的数据框。我只想显示已排序(不区分大小写)的 table 的一部分。

即,如果我仅提取特定列及其基于唯一行的计数 df.ROI.values_count(),我得到的输出如下所示:

ABDOMINAL CAVITY 48445
ADRENAL GLAND    18889
Abdominal cavity 18282
Accessory sinus  12088
Adipose tissue    3048
Adrenal gland        5
Name: ROI, dtype: int64

但是,我希望我的输出以不区分大小写的方式排序。像下面这样:

ABDOMINAL CAVITY 48445
Abdominal cavity 18282
ADRENAL GLAND    18889
Adrenal gland        5
Accessory sinus  12088
Adipose tissue    3048
Name: ROI, dtype: int64

我该怎么做?

使用带有参数 keySeries.sort_index:

s = df.ROI.values_count()

s = s.sort_index(key=lambda x: x.str.lower())
print (s)
ABDOMINAL CAVITY    48445
Abdominal cavity    18282
Accessory sinus     12088
Adipose tissue       3048
ADRENAL GLAND       18889
Adrenal gland           5
Name: ROI, dtype: int64