首页 > 解决方案 > PYTHON:如何将同名的项目添加在一起,并将它们添加到列表中以查找列表的长度?

问题描述

我在一个不同动物的文件中有一个列表,该列表在一个函数中打开和读取。

例如我的清单是:

Cats, Dogs, Cows, Cows, Cows, Sheep, Dogs, Sheep, etc.

我如何将这些放在一个列表中,该列表将相同的动物组合在一起并返回列表中每个动物的数量,例如我想要的这个列表:

List = (1, 2, 3, 2)

这将使我能够计算出这个新列表的长度,并给出有多少种不同的动物。

如果可能,不使用集合。

另外,因为它在一个函数中,所以我不能具体说明每一种动物。

标签: pythonlistfunctiongrouping

解决方案


下面使用 pandas 为您的列表创建一个 DataFrame。

然后,您可以使用 pandas value_counts 函数,该函数返回一个包含唯一动物计数的系列。

import pandas as pd

myAnimals = {'Animals': ['Cats', 'Dogs', 'Cows', 'Cows', 'Cows', 'Sheep', 'Dogs', 'Sheep']}
myList = pd.DataFrame(myAnimals)

pd.value_counts(myList['Animals'].values)

我发现这种方法的输出更直接:

Cows     3
Sheep    2
Dogs     2
Cats     1

有关详细信息,请参阅value_counts


推荐阅读