pandas - 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())
我只是将代码的相关行显示在这里。
解决方案
如果列表中有列名,您可以创建列表字典,然后使用字典理解:
d = {'bu_lst':bu_lst, 'FPG': FPG, ...}
d2 = {k: df2[v].sum() for k, v in d.items()}
推荐阅读
- amazon-web-services - 将 Oracle DB(本地)中的 18TB 数据迁移到 AWS 的最佳方法是什么?
- c# - Microsoft Graph - 限制日历访问后无法访问用户配置文件数据
- mysql - 添加新列并替换 NULL 值
- smartsheet-api - Smartsheet API 用户级别
- c# - 正则表达式以正确的顺序替换日期
- java - JavaFX:如何在调整一个/两个多边形的大小(缩放)时保持两个多边形之间的距离不变?
- javascript - 如何使用 momentjs 从时间戳中获取时区缩写?
- python - 在 Python 中跳过对模拟对象的第一次调用
- r - 优化嵌套 for 循环以计算 r 中的矩阵
- database - 为什么我的 PLSQL 代码不使用 while 循环进行循环?