如何基于索引添加子列表的元素-Python

时间:2019-04-28 23:21:56

标签: python python-3.x list sum nested-lists

如何根据值的索引在子列表中添加元素?例如,如何将其打开?

nested_list = [[1,2],[3,4],[5,6]]

是这个吗? :

sublist_sums = [9,12] # [1 + 3 + 5, 2 + 4 + 6]

很抱歉,标题不太清楚,我不确定如何放置。

2 个答案:

答案 0 :(得分:2)

如果允许使用NumPy,则可以在2-tuple中使用numpy.sum()

axis=0

另一方面,如果您想要一个普通的Python解决方案,则在列表理解中使用In [11]: np.sum(nested_list, axis=0) Out[11]: array([ 9, 12]) ed结果就足够了:

zip

答案 1 :(得分:1)

  

已经接受了答案,但以下内容也可以用于   您的要求。让我知道这可以回答您的问题。

import pandas as pd
import numpy as np

c = ['Val1','Val2'] 
v = [
        [1,1.0],
        [2,1.0],
        [1,1.0],
        [2,0.98],
        [3,0.78],
        [4,0.70],
        [9,0.97],
        [6,0.67],
        [12,0.75],

    ]



n = len(v)

df = pd.DataFrame(v,columns=c)


#Take top N ie all elements in this case and sum it.
print(list(df.groupby('Val1').head(n).sum()))  

#### Output ####
[40.0, 7.85]




#Alternatively you can create a column where the value is same for all
#In my case column is 'id' and value is 1
#Then apply group-by-sum on 'id'
df['id'] = [1]*n   
print(df.groupby('id').sum())

#### Output ####
    Val1  Val2
id            
1     40  7.85