我正在参加一个关于Python数据分析的课程(Numpy、Pandas等)
我们有一个赋值,我们应该根据另一个列表的值计算数组的mean()。 这似乎有点不清楚,因此下面是一个示例:
list = ['A','A','A','A','B','B','B','B']
array = [ [5.1, 3.5, 1.4, 0.2],
[4.9, 3. , 1.4, 0.2],
[4.7, 3.2, 1.3, 0.2],
[4.6, 3.1, 1.5, 0.2],
[5. , 3.6, 1.4, 0.2],
[5.4, 3.9, 1.7, 0.4],
[4.6, 3.4, 1.4, 0.3],
[5. , 3.4, 1.5, 0.2] ]
列表值对应于数组中行的类别,要求我们计算按A和B分组的每列的平均值。 我想这可以通过将数据转换成Pandas数据帧来实现——但是这个赋值属于Numpy,所以我想我们应该在没有Pandas的情况下解决它
我苦苦挣扎,谷歌搜索也无济于事。 非常感谢您的帮助
谢谢
B.R。 安德斯
这能解决你的问题吗
输出:
我能想到的最快的方法是将行分割并计算平均值。但是,这种方法是一种快速欺骗,如果您想将
list
的解决方案推广到不同的形式,那么这种方法就有缺陷:一个更合适的解决办法是准备一本分类词典。然后按顺序将行附加到映射中的正确条目。我已将
list
重命名为keys
然后计算平均值:
这将适用于任何数量的类别和任何形式的类别序列
keys
。只要len(keys)
等于行数我相信你可以自己想出一个完整的NumPy替代方案
相关问题 更多 >
编程相关推荐