当前位置: 首页 > 知识库问答 >
问题:

基于键的平均树图值

劳华灿
2023-03-14

我有一个treemap存储密钥和值,如下所示:

key    value
ko4    23
ko4    53
ko4    34
po1    100
po1    8
po1    90
po3    99
po3    234
po3    34
Key    Value
ko4   36.6
po1   66
po3   122.3
      Map<String, Integer> map = new TreeMap<String, Integer>();
      int sum = 0;
      int average;
      int number = 1;
      map.put(key, value); //I actually read in a file to do this, but so it is reproducible I have it like this, people can put in whatever they please
      String lastkey = map.key(0);//I don't know if I can get key somehow

      for (int i = 0;i < map.size();i++){ //for the size of the map
         thiskey = map.key(i);
         if (thiskey.equals(lastkey)){ //if it is the same key as the last one
            if (i == 0){
               sum = map.get(i);
            }else{
              sum = sum + map.get(i); //add the values
              number++;
            }
         average = sum / number;
         }else{ 
          lastkey = thiskey;
         }

我需要一些帮助来弥补这方面的差距。有没有更好的办法做到这一点?

共有1个答案

朱风史
2023-03-14

//无法在评论中发布此答案,因为它太大了,也可以在评论中发布,但希望对您有帮助

public static void main(String[]args){

    //initialize variables
    HashMap<String,ArrayList<Integer>> hm=new HashMap();
    ArrayList<Integer> values=new ArrayList<Integer>();
    values.add(0);
    values.add(1);
    values.add(2);
    hm.put("ko4", values);
    System.out.println(hm.get("ko4").get(0));//prints index 0
    System.out.println(hm.get("ko4").get(1));//prints index 1
    System.out.println(hm.get("ko4").get(2));//prints index 2

}
 类似资料:
  • 本文向大家介绍如何在 MongoDB 中基于重复的 ID 计算平均值,包括了如何在 MongoDB 中基于重复的 ID 计算平均值的使用技巧和注意事项,需要的朋友参考一下 对于MongoDB中的平均值,请使用$avg。让我们创建包含文档的集合。在这里,我们有重复的ID,每个ID都有等级- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是基于重复ID获取平均评分的查询-

  • 问题内容: 我正在尝试学习SQL,所以请耐心等待。我正在使用PostgreSQL 9.3 我想根据日期窗口对一列进行平均。我能够编写窗口函数来完成一个集合,但是我希望能够随着不断增长做到这一点。我的意思是: 我假设有一个比对我要平均的每个范围运行查询更好的方法。任何建议表示赞赏。谢谢你。 编辑 我正在尝试创建均匀分布的垃圾箱,以用于汇总表的值。 我的间隔是: 这里是一个表的列 并且 是并列我想表分

  • 在使用 VChart 图表库时,能否做到类似于下图的效果,在图表中添加标注线表示数据的平均值?

  • 我想用基于历史事件的流计算Flink中基于窗口的平均值(或我定义的任何其他函数),因此流必须是事件时间(而不是基于处理时间): 我已经了解了如何在摄入时添加时间戳: 但是当我进行计算(应用函数)时,当我只是以与没有EventTime时相同的方式进行计算时,它就不起作用了。我读过一些关于我必须设置的水印的东西: 有没有人举一个简单的Scala例子? 尊敬的安德烈亚斯

  • 我想知道我是否正确理解了图像的平均归一化。 据我所知,您计算所有像素的平均值(假设它是灰度)。然后,对于每个像素,减去该平均值。 但是,人们应该如何处理可能出现的负值呢?例如,整个图像的平均值为100,但一个特定像素的强度为90。在这个标准化之后,像素的值将是-10。

  • 取一定时间内的平均值 用法 Your browser does not support the video tag. 案例:数据变化趋势 功能:加入平均值和不加平均值的折线图形成对比,显示数字改变的规律 工作原理 结果将会是一段时间段输入的平均值。你可以设置配置项中的时间段长度(工程师叫它采样窗) 提示 短的采样窗意为着输出对输入变化的反应更敏感。