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



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

现在我正在尝试使用 for 循环中的字典访问这些行以汇总值。

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(多谢!

您可以使用字典条目的键访问字典条目,例如

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