python - PYTHON:如何将同名的项目添加在一起,并将它们添加到列表中以查找列表的长度?
问题描述
我在一个不同动物的文件中有一个列表,该列表在一个函数中打开和读取。
例如我的清单是:
Cats, Dogs, Cows, Cows, Cows, Sheep, Dogs, Sheep, etc.
我如何将这些放在一个列表中,该列表将相同的动物组合在一起并返回列表中每个动物的数量,例如我想要的这个列表:
List = (1, 2, 3, 2)
这将使我能够计算出这个新列表的长度,并给出有多少种不同的动物。
如果可能,不使用集合。
另外,因为它在一个函数中,所以我不能具体说明每一种动物。
解决方案
下面使用 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。
推荐阅读
- flutter - Flutter - 在BottomNavigationBar的中间图标添加弹出菜单按钮
- java - 设置值回到开始
- react-native - 如何在json响应完成之前开始渲染反应原生
- visual-studio - 如何在不使用 Visual Studio 的情况下运行程序
- javascript - 在单个事件中处理多个功能
- compilation - 如何在 Juno 命令提示符中解决可能来自 PyPlot 的“LoadError:无法加载库编译错误”?
- python - 无法正确添加行数据
- python - 尝试将 DRY 原理应用于 django 中的建模方法
- java - 尝试生成签名包时出现此错误
- r - 数据集之间的数据传输