当前位置: 首页 > 面试题库 >

分组并计算元组列表中的平均值

江飞白
2023-03-14
问题内容

我有一个这样的元组列表:

x=[('HSBC8999', 4, 179447), ('HSBC1199', 81, 864108), ('HSBC1199', 32, 715121),('HSBC8999', 4, 1447),('HSBC1199', 32, 61521) ]

我要执行一些任务:

  1. 根据第一项将列表分组:HSBCXXXX

  2. 在每个组中,计算列表中具有相同第二项的第三项的平均值。

像这样:第一组:

('HSBC8999', 4, 179447)
('HSBC8999', 4, 1447)

平均4:(179447 + 1447)/ 2

第2组:

('HSBC1199', 81, 864108)
('HSBC1199', 32, 715121)
('HSBC1199', 32, 61521)

平均81:864108

32的平均值=(715121 + 61521)/ 2


问题答案:
import itertools
import operator

L = [('HSBC8999', 4, 179447), ('HSBC1199', 81, 864108), ('HSBC1199', 32, 715121),('HSBC8999', 4, 1447),('HSBC1199', 32, 61521) ]

L.sort(key=operator.itemgetter(0))
for _k, stackoverflow in itertools.groupby(L, operator.itemgetter(0)):
    subl = list(stackoverflow)
    subl.sort(key=operator.itemgetter(1))
    for k, subg in itertools.groupby(subl, operator.itemgetter(1)):
        subs = list(subg)
        print("the average of {} is {}".format(k, sum(s[2] for s in subs)/len(subs)))


 类似资料:
  • 问题内容: 我正在尝试使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它无法正常工作。假设用户输入7、4和5,该程序在应显示5.3时显示平均值。 代码有什么问题? 问题答案: 当您拥有增强的for循环时,为什么还要对索引使用笨拙的for循环?

  • 我试图使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它不能正常工作。例如,用户输入7、4和5,程序显示1作为平均值,而它应该显示5.3

  • 本文向大家介绍计算Python中元组列表中的元组出现,包括了计算Python中元组列表中的元组出现的使用技巧和注意事项,需要的朋友参考一下 列表由元组组成。在本文中,我们将计算列表中存在的唯一元组的数量。 使用defaultdict 我们将给定列表视为defaultdict数据容器,并使用in条件对其中的元素进行计数。 示例 输出结果 运行上面的代码给我们以下结果- 带柜台和链条 计数器和链函数是

  • 我在添加数组的所有元素以及求取它们的平均值时遇到了问题。我将如何做到这一点并用我当前拥有的代码实现它?这些元素应该定义如下。

  • 问题内容: 我在添加数组的所有元素以及将它们取平均值时遇到了问题。我该怎么做,并用我现在拥有的代码实现它?这些元素应该定义如下。 问题答案: var sum = 0; for( var i = 0; i < elmt.length; i++ ){ sum += parseInt( elmt[i], 10 ); //don’t forget to add the base } 只需遍历数组,因为您的

  • 问题内容: 请问用多个键分组并汇总/平均使用Python词典列表的值的最pythonic方法是什么?假设我有以下词典列表: 所需的汇总输出: 或平均: 我发现了这一点:用Python组合并汇总字典列表的值,但这似乎没有给我我想要的东西。 问题答案: 获取汇总结果 输出量 为了获得平均值,您可以像这样简单地更改for循环内的内容 输出量 建议: 无论如何,我会像这样同时添加和和 输出量

  • 问题内容: 我有一个这样的数据框: 我想计算每个集群每个组织的平均时间。 预期结果: 我不知道如何在熊猫中做到这一点,有人可以帮忙吗? 问题答案: 如果你想先对组合取平均值,然后再对cluster组取平均值 如果你不仅仅希望价值观,那么你可以 你可以groupby上再取

  • 问题内容: 我试图通过取元素的平均值将numpy数组分组为较小的大小。例如,将100x100阵列中的平均5x5子阵列的foreach平均值创建20x20大小的阵列。由于需要处理大量数据,这是一种有效的方法吗? 问题答案: 我已经尝试过使用较小的阵列,因此请与您的阵列进行测试: 6x6-> 3x3的示例: