首页 > 解决方案 > Pandas 到 DataFrame 中列表项的总和

问题描述

下面我有一个列表bu_lst,我将它传递给一个数据框df2来计算列表中每个单独项目的总和,我怎么能一口气做到这一点,所以我不会重复多次:

bu_lst = ['FPG','IPG','DSG','STG','WFO','IT']
FPG = ['ADE','FPG AE','FPG PE','MMSIM','OrFAD','Tirtuoso DashBoard','SPB AE','SPB PE']
IPG = ['DDR','DDR_DT','Tensilica']
DSG = ['FLA','FLS','FEQoS','IFD PT','Sasus R&D','sasus'] PE','Toltus','Tempus','Quantus','Genus']
STG = ['ATS','HST','TIP','System Engineering']
WFO = ['AFademiF Network','FRAFT','Fhip Estimate','EduFation SerTiFes','LiFensing','Sales','SerTiFes','TFAD']
IT  = ['App Development','Fumulus','InfoSeF']

我目前的做法:

print(df2[FPG].sum())
print(df2[IPG].sum())
print(df2[DSG].sum())
print(df2[STG].sum())
print(df2[WFO].sum())
print(df2[IT].sum())

我只是将代码的相关行显示在这里。

标签: pandas

解决方案


如果列表中有列名,您可以创建列表字典,然后使用字典理解:

d = {'bu_lst':bu_lst, 'FPG': FPG, ...}

d2 = {k: df2[v].sum() for k, v in d.items()}

推荐阅读