Uproot4是否不再支持tree.pandas.df()函数?运行旧代码报错求助
问题原因与解决方法
问题根源:Uproot版本迭代后,废弃了
tree.pandas.df()这种调用方式,.pandas属性已从TTree对象中移除,这是API兼容性变更导致的报错。修正后的代码:
直接调用TTree对象的.df()方法即可,原参数大多可以直接沿用:f = uproot.open(inputFile) treeName = "myTreeName" tree = f[treeName] myDf = tree.df('branchName', entrystop=nEvent, flatten=False)补充说明:
- 若需要更精细的pandas转换控制,可以使用
uproot.asdataframe()函数,用法示例:myDf = uproot.asdataframe(tree, 'branchName', entrystop=nEvent, flatten=False) - 如果你是从Uproot 4升级到了Uproot 5,这类API简化是主要变化之一,核心功能未受影响,只是调用路径更简洁。
- 若需要更精细的pandas转换控制,可以使用
内容的提问来源于stack exchange,提问作者Zhen Yan
相关产品推荐
相关产品推荐

