gpt4 book ai didi

python - pandas/json 中的点表示法

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:32 24 4
gpt4 key购买 nike

有人可以解释一下为什么我无法访问使用点符号从 json 创建的 pandas 数据框吗?或者至少,如果数据框不是太嵌套的话就不会。

如果我的 json 文件包含:

{
"mass":{
"e": 0.511,
"mu": 105.758,
"pi0": 134.977,
"pi+": 139.570,
"k0": 497.648,
"k+": 493.667
}
}

我可以完美做到:

glob = pd.read_json('Constants/constants.json')
print glob.mass.e

但是,如果我的 json 文件如下所示:

{
"physics":{
"mass":{
"e": 0.511,
"mu": 105.758,
"pi0": 134.977,
"pi+": 139.570,
"k0": 497.648,
"k+": 493.667
},
"ckm":{
"ud": 0.97427,
"us": 0.22534
}
},
"experiment":{
"detector":{
"width": 2.56,
"height": 2.33,
"length": 10.37,
"distance": 470
},
"decayPipe":{
"length": 50
}
}
}

然后,做:

glob = pd.read_json('Constants/constants.json')
print glob.physics.mass.e

将返回

AttributeError: 'dict' object has no attribute 'e'

最佳答案

在第一个实例中,mass 是一个系列,它为其下的每个项目创建属性。它不会重复此过程 n 层深度,因此在第二个实例中,mass 只是一个字典,您需要使用括号表示法来访问。

关于python - pandas/json 中的点表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com