1
jsonからドット表記で作成したpandasデータフレームにアクセスできない理由を誰かに説明できますか?少なくとも、データフレームがネストされていない場合はそうではありません。pandas/jsonのドット表記
私の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
}
}
}
:
10は、第1インスタンス質量
AttributeError: 'dict' object has no attribute 'e'
わかりました。とにかくドット表記nレベルを深く保つことはありますか? –
AFAIKは簡単に組み込むことはできませんが、自分で行うことができます。基本的な考え方として、gl.physics.mass = pd.Series(gl.physics.mass)と書くことができます。より一般的には、最初のSeriesをループして辞書をチェックしてからSeriesに変換することができますが、これはデータの1次元「列」であるSeriesが通常表現するために使用されるものから遠ざかります。 –