我有一个不同国家2013年人口类型序列的对象,其中国家是指数
输入示例:
Country Name Population in 2013
Aruba 103159.0
Afghanistan 32269589.0
Angola 26015780.0
... ...
现在我想随机挑选一个国家及其人口。我是这样做的
countr = set(country.name for country in pycountry.countries)
listofcountr=list(countr)
randcountry=random.choice(listofcountr)
现在我想找到5个国家,它们的人口和我随机找到的这个国家的人口最接近。在绝对值的意义上最接近。我怎样才能做到这一点
由于数据量不大,您可以尝试添加减去随机国家(列表中的每个国家)的变量,并将这些差异添加到列表中,对该列表进行排序,然后在该列表上打印前5个元素,或者创建该列表前5个记录的副本
使用
pandas
的另一种方法可以是以下方法(请注意,这些值是伪值)——现在,如果您想找到值为
pop
的5个最接近的国家,例如,countryb
,您可以尝试以下方法-您可以计算所有国家与所选国家的绝对差异,将其保存到列表中,然后对列表进行排序。以下是一个非Numpy版本:
使用Numpy,您可以并行化(加速)操作,如下所示:
相关问题 更多 >
编程相关推荐