我有一个数据集作为字典,其中密钥有两位有用的信息:AAA_B-B:值。 A和B重复不同的组合(4x4,16种组合)。
我正在尝试创建与不同集相关联的值的列表并绘制值,例如B-B1,B-B2等,所以我试图选择基于一部分的键。这就是我到目前为止所做的:
for fileKey in photon_means.keys():
pm_30 = []
pm_35 = []
pm_40 = []
pm_45 = []
for k in sorted(photon_means[fileKey].keys()):
pm_30.append(photon_means[fileKey[4:7]['3-0']][k])
返回TypeError,该字符串指示必须是整数。删除引号会让我“字符串索引超出范围”如果我更改列表追加到:
pm_30.append(photon_means[fileKey[4:7]]['3-0'])
我得到任何没有此密钥类型的值的KeyError(例如,3-5) 任何帮助将不胜感激!
编辑: 数据集是仪器校准。两个键表示仪器设置。它是一组结构的嵌套字典: {AAA_B-B:{Flow1:value},{flow2:value},{flow3:value}}
我有一些工作代码,可以在所有字典中绘制所有值,如下所示:
def calib(photon_means, conc_ppb):
markers = {"600":"v", "650":"o", "700":"*", "750":"s"}
colours = {"3-0":"r", "3-5":"m", "4-0":"g", "4-5":"b"}
pyplt.clf()
for fileKey in photon_means.keys():
pm = []
ppb = []
for k in sorted(photon_means[fileKey].keys()):
#pyplt.scatter([conc_ppb[fileKey][k]],[photon_means[fileKey][k]])
pm.append(photon_means[fileKey][k])
ppb.append(conc_ppb[fileKey][k])
pyplt.plot(ppb,pm,label=fileKey, color=colours[fileKey[4:7]], marker=markers[fileKey[0:3]], ms=10.0)
我最终希望建立4个地块,按照设置B-B1,B-B2,B-B3和B-B4排序。