Python 按字母顺序排列条形图,忽略大小写

Python 按字母顺序排列条形图,忽略大小写,python,python-3.x,pandas,matplotlib,Python,Python 3.x,Pandas,Matplotlib,我正在尝试从pandas.value\u计数创建条形图 df[variable].value_counts(dropna=False, sort=False).sort_index(ascending=True).plot(kind='barh') 但是,此排序会考虑类别是否为大写和小写: i、 e 此列表:[植物、动物、细菌] 变成:[动物、植物、细菌] 而不是:[动物、细菌、植物] 在排序时是否有一种方法可以忽略大写和小写,而不更改绘图中的格式?我仍然想保持细菌的低水平 感谢您对orde

我正在尝试从pandas.value\u计数创建条形图

 df[variable].value_counts(dropna=False, sort=False).sort_index(ascending=True).plot(kind='barh')
但是,此排序会考虑类别是否为大写和小写:

i、 e

此列表:
[植物、动物、细菌]

变成:
[动物、植物、细菌]

而不是:
[动物、细菌、植物]

在排序时是否有一种方法可以忽略大写和小写,而不更改绘图中的格式?我仍然想保持细菌的低水平

感谢您

对order和reorder by使用小写索引值:


我真的不知道如何使用它,是否应该设置s=df[variable]。value_counts(dropna=False,sort=False)。sort_index(升序=True)?这会给出一个错误:argsort返回结果中的第4688行。argsort(*args,**kwargs)TypeError:“@Agustin-我认为缺少值,需要删除它吗?还是数数?答案已编辑。
df = pd.DataFrame({'variable':['Plant','Animal','Animal','bacteria','bacteria', np.nan]})
s = df['variable'].value_counts(dropna=False, sort=False)
print (s)
NaN         1
Plant       1
bacteria    2
Animal      2
Name: variable, dtype: int64

s = s.iloc[s.index.str.lower().fillna('').argsort()]
print (s)
NaN         1
Animal      2
bacteria    2
Plant       1
Name: variable, dtype: int64