Как добавить элементы подсписков на основе индекса - Python - PullRequest
2 голосов
/ 29 апреля 2019

Как вы добавляете элементы в подсписки в соответствии с индексом значений? Например, как вы включаете это:

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

в это? :

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

Извините, если название было не очень ясным, я не совсем понял, как его написать.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Если использование NumPy разрешено, вы можете использовать numpy.sum() вдоль axis=0:

In [11]: np.sum(nested_list, axis=0)
Out[11]: array([ 9, 12])

С другой стороны, если вам нужно простое решение на Python, тогда достаточно использовать zip ed для понимания списка:

In [32]: [sum(l) for l in zip(*nested_list)]
Out[32]: [9, 12]
1 голос
/ 02 мая 2019

Ответ уже принят, но следующее также может быть использовано для вашего требования. Дайте мне знать, это ответ на ваш вопрос.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...