我正在使用 pandas 和 uproot 从 .root 文件中读取数据,我得到如下表:
上述表格由以下代码制成:
fname = 'ZZ4lAnalysis_VBFH.root'
key = 'ZZTree/candTree'
ttree = uproot.open(fname)[key]
branches = ['Z1Flav', 'Z2Flav', 'nCleanedJetsPt30', 'LepPt', 'LepLepId']
df = ttree.pandas.df(branches, flatten=False)
我需要在 LepPt 中找到最大值,一旦找到最大值,我还需要检索该最大值的 LepLepId。我找到最大值没有问题:
Pt_l1 = [max(i) for i in df.LepPt]
通过这种方式,我得到了一个包含所有最大值的数组。但是,我必须根据 LepLepId 分隔这些值。所以我需要一个最大 LepPt 和 |LepLepId|=11 的数组和一个最大 LepPt 和 |LepLepId|=13 的数组。
如果有人能给我任何提示、建议和/或建议,我将不胜感激。