프로그래밍 공부/보면 도움이 될걸?!
[오류해결] ValueError: Mixing dicts with non-Series may lead to ambiguous ordering
조녁
2022. 6. 14. 01:57
반응형
안녕하세요~!
28년차 진로탐색꾼 조녁입니다!
순서 및 내용은 아래와 같습니다.
1. 상황 이해 : 어떤 에러메시지이며, 어떤 상황에서 발생했는 지 기록
2. 해결 방법 : 해결 성공여부를 떠나 시도한 방법들 순서대로 정리
3. 얻은 인사이트 : 해결해가는 과정에서 배운내용들
1. 상황 이해
- the ValueError occurs because the data types are all over the place, some strings, some lists, multiple {} etc.
- 데이터 정리 후 dataframe을 json으로 저장하고 불러오는 상황에서 발생함
train_df.to_json('path/file.json', orient='table')
2. 해결 방법
- This error may be solved by normalizing the data.
from pandas.io.json import json_normalize
import json
with open('json_file.json') as f:
d= json.load(f)
df = json_normalize(d, 'data'))
- 만약 data부분만 필요하다면 아래와 같이 그 부분만 가져올 수 있다. (하지만 파일이 바뀌진 않음)
import json
import pandas as pd
data = json.load(open('json_file'))
df = pd.DataFrame(data["data"])
print(df)
- 그냥 애초에 dataframe을 json으로 저장할때 orient 옵션을 ‘columns’로 주면 된다.
df.to_json('path/file.json', orient='columns')
3. 얻은 인사이트
- json file 형태에 대해서 더 공부했다.
- df to json 저장할때 oreient 인자가 있음을 인지하게됐다.
반응형