如何对两个列表进行排序并绘制它们?

问题描述 投票:1回答:4

我正在编写一种工具来绘制单词,在很多说唱天才歌词中使用了多少次。

我已经提取了两个列表:一个是单词的名称。另一个用于词的使用量。

list_name=["I","you","the"]
list_count=[23,42,12]

同一索引处的值是对。我不确定这是否是最有用的方法,但这就是我可以制作一个表示每个单词及其数量的条形图的方式。现在,我想按最高数量对它进行排序。如果我对list_count进行排序,我将无法真正将其转移以使list_name与list_count的顺序相同。

有什么建议吗?我尝试过字典,但是找不到如何有用的方法。

python matplotlib
4个回答
1
投票

您可以创建一个元组,然后按元组中的值排序,然后再次获取列表。这不是最佳选择,但足够了


1
投票

使用pandas


0
投票

您构造数据的方式将使执行此任务变得困难。您是否考虑过改为创建import numpy as np # create numpy array with dtypes t = np.array(list(zip(list_name, list_count)), dtype = [('name', 'S10'), ('count', int)]) # sort array t = np.sort(t, order=['count'])[::-1] # plot plt.bar(x=t['name'], height=t['count'])


0
投票

您可以使用列表创建一个元组。

© www.soinside.com 2019 - 2024. All rights reserved.