1
점 표기법으로 json에서 만든 팬더 데이터 프레임에 액세스 할 수없는 이유를 누군가가 설명 할 수 있습니까? 적어도 데이터 프레임이 너무 중첩되지 않은 경우는 아닙니다. 내 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
}
}
}
을 그런 일을 :
(10)가 제 인스턴스 질량
AttributeError: 'dict' object has no attribute 'e'
아, 알겠습니다. 어쨌든 점 표기법 n 수준을 깊게 유지할 수 있습니까? –
쉬운 방법 AFAIK가 내장되어 있지 않지만 직접 할 수 있습니다. 기본적인 아이디어로 gl.physics.mass = pd.Series (gl.physics.mass)라고 쓸 수 있습니다. 좀 더 일반화하기 위해 첫 번째 시리즈를 반복하고 사전을 확인한 다음 시리즈로 변환 할 수 있습니다. 단, 시리즈의 데이터 표현은 일반적으로 데이터의 1 차원 "열"을 나타 내기 위해 사용됩니다. –