我有一个大的数据数组。我想用一个或两个条件对列求和。数据已经作为类存储在字典中。你知道吗
数据相当广泛,但重要的部分是这样的
[["Gothenburg", "2018-01-05", "jan", 1.5, 2.3, 107],
["Gothenburg", "2018-01-15", "jan", 1.3, 3.3, 96],
["Gothenburg", "2018-01-25", "jan", 1.7, 3.2, 45],
["Gothenburg", "2018-03-05", "mar", 1.5, 2.1, 96],
["Gothenburg", "2018-03-05", "mar", 1.9, 2.8, 102],
["Malmo", "2018-01-02", "jan", 1.6, 2.3, 104],
["Malmo", "2018-01-10", "jan", 1.0, 2.9, 112],
["Malmo", "2018-03-05", "mar", 0.7, 4.3, 151],
["Malmo", "2018-03-25", "mar", 1.0, 3.3, 98],
["Hallsberg", "2018-01-25", "jan", 2.5, 2.3, 87],
["Hallsberg", "2018-02-14", "feb", 2.2, 2.3, 168],
["Hallsberg", "2018-03-06", "mar", 3.7, 2.3, 142],
["Hallsberg", "2018-04-29", "apr", 2.7, 2.3, 100]]
栏目说明: 0=城市,1=日期,2=月份,3=平均值1,4=平均值2,5=平均值3
这个阵列总共大约有8000行,可能有300个不同的城市。你知道吗
我想要实现的是在第0、1、2列的值之后对第3、4、5列求和。你知道吗
例如,键为“Malmo”的第3列的和=1.6+1.0+0.7+1.0=4.3 键为“Malmo”和“jan”的第3列之和=1.6+1.0=2.6
这些条件和可以存储在字典(或更好的解决方案)中,也可以显示在屏幕上。你知道吗
我想有一个聪明的方法很容易做到这一点,但我还没想明白。我试过使用for循环和if案例,但是很混乱。希望能在这里得到一些好的建议!你知道吗
诀窍是使用元组作为字典的键。假设数据存储在名为
big_array_with_data
的变量中,下面是使用collections.defaultdict
的解决方案:你也可以不用
defaultdict
这样做:也就是说,如果你计划定期做这样的数据处理,那么学习熊猫教程是一个很好的时间投入。你知道吗
我喜欢将pandas库用于数据帧类型的对象。您的问题解决方案:
选择分组依据:
group_by = ['City', 'Month'] #group_by = ['Month']
使用以下列的总和创建一个分组\u by Dataframe:
合并两个数据帧:
输出:
相关问题 更多 >
编程相关推荐