如何使用字典访问特定的数据帧行?

2024-05-13 03:16:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图访问数据帧中的特定行并将这些行相加。特定行的索引点保存在字典中

现在,我尝试使用for循环中的dictionary访问这些行,以汇总这些值

GHG_names = ['CO2', 'CH4', 'N2O']
GHG_gwp = [1.,28.,265.]
GHG = {}

for j,ghg in enumerate(GHG_names):
    GHG[ghg] = {'GWP': GHG_gwp[j], 'B_index':[]}
    for i,e in enumerate(B_Matrix.index):
        if e.find(ghg) != -1:
            GHG[ghg]['B_index'].append(i)

有了它,我得到了以下词典:

{'CO2': {'GWP': 1.0, 'B_index': [23, 92, 93, 427, 437, 438]}, 'CH4': {'GWP': 28.0, 'B_index': [24, 67, 68, 69, 70, 71, 72, 73, 74, 426, 435]}, 'N2O': {'GWP': 265.0, 'B_index': [25, 429]}}

我正在尝试访问矩阵中的这些行:

GHG_names = ['CO2', 'CH4', 'N2O']
GHG_gwp = [1.,28.,265.]
GHG = {}

for j,ghg in enumerate(GHG_names):
    GHG[ghg] = {'GWP': GHG_gwp[j], 'B_index':[]}
    for i,e in enumerate(B_Matrix.index):
        if e.find(ghg) != -1:
            GHG[ghg]['B_index'].append(i)
    print(B_Matrix[GHG[ghg]['B_index'], 'Total'])

我试过几种不同的变体,但都不起作用

我的目标是获取这些指数,并对每种温室气体(CO2、CH4、NO2)进行汇总 非常感谢


Tags: inforindexifnamesmatrix汇总co2
1条回答
网友
1楼 · 发布于 2024-05-13 03:16:44

你可以用它们的键访问字典条目,例如

print(GHG["CO2"]["B_index"])
#[23, 92, 93, 427, 437, 438]

遍历名称列表,系统地访问所有条目并汇总它们的单个索引

for ghg_name in GHG_names:
    _sum=0
    for idx in (GHG[ghg_name]["B_index"]):
        _sum+=idx
    print(ghg_name, _sum)

这将为您提供以下输出:

CO2 1510
CH4 1449
N2O 454

相关问题 更多 >