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
我该怎么做?
使用带有参数 key
的 Series.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
我有一个包含 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
我该怎么做?
使用带有参数 key
的 Series.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