嵌套列表中的行值求和

问题描述

我刚刚开始学习python,并陷入了这个问题:

我有此列表:

--add-data "file1.xlsx"

我需要对每一行数字求和,例如:

data = [
    ['Grinning',2.26,1.02,87.3],['Beaming',19.1,1.69,150.0],['ROFL',25.6,0.774,0.0],['Tears of Joy',233.0,7.31,2270.0],['Winking',15.2,2.36,264.0],['Happy',22.7,4.26,565.0],['Heart Eyes',64.6,11.2,834.0],['Kissing',87.5,5.13,432.0],['Thinking',6.81,0.636,['Unamused',6.0,0.236,478.0],['Sunglasses',4.72,3.93,198.0],['Loudly Crying',24.7,1.35,654.0],['Kiss Mark',21.7,2.87,98.7],['Two Hearts',10.0,5.69,445.0],['Heart',118.0,26.0,1080.0],['Heart Suit',3.31,1.82,697.0],['Thumbs Up',23.1,3.75,227.0],['Shrugging',1.74,0.11,['Fire',4.5,2.49,['Recycle',0.0333,0.056,932.0]
]

我尝试了很多方法来仅获取行号,但是没有找到一种可以正常工作并且不会汇总所有列的方法

我也尝试过这个:

"Grinning" sum = 2.26 + 1.02 + 87.3

但是它会打印一个我什至不认识的数字...

如果有人能解释如何对每一行编号求和,我将不胜感激

解决方法

选项1:没有要求的sum

d = {}

for current_sub_list in data:
    current_list_sum = 0
    for j in range(1,len(current_sub_list)):
        current_list_sum += current_sub_list[j]
    d[current_sub_list[0]] = current_list_sum

print(d)

选项2:

d = {}

for x in data:
    d[x[0]] = sum(x[1:])

print(d)
,

使用此

media.AddOption(":no-sout-file-overwrite");
media.AddOption(":sout-file-append");
,
vals = [1,2]
dates = df1["DateTime"].dt.date
mask = df1['Member Code'].eq(dates.map(df1['Member Code'].groupby(dates).nth(vals[0])))
mask1 = df1['Member Code'].groupby(dates).cumcount().ne(vals[0])
df = df1.mask(mask & mask1).groupby(dates).bfill()
print (df)
             DateTime  Duration  Member Code
0 2018-09-01 00:01:00       3.0      13595.0
1 2018-09-01 00:35:00      14.0      17630.0
2 2018-09-01 01:14:00       9.0      13522.0
3 2018-09-01 01:46:00       7.5      14942.0
4 2018-09-01 01:46:00       7.5      14942.0
5 2018-09-02 00:13:00       1.0      17022.0
6 2018-09-02 00:51:00       2.0      13596.0
7 2018-09-02 02:16:00      10.0      14942.0
8 2018-09-02 02:16:00      10.0      14942.0
9 2018-09-02 02:16:00      10.0      14942.0

df_new = df.groupby(df1["DateTime"].dt.date).nth(vals)
print (df_new)
                      DateTime  Duration  Member Code
DateTime                                             
2018-09-01 2018-09-01 00:35:00      14.0      17630.0
2018-09-01 2018-09-01 01:14:00       9.0      13522.0
2018-09-02 2018-09-02 00:51:00       2.0      13596.0
2018-09-02 2018-09-02 02:16:00      10.0      14942.0

这里x是x=[] for i in range(len(data)): x.append([data[i][0],sum(data[i][1:])]) print(x) 中的list