Pandas DataFrame을 JSON으로 변환
JSON은 JavaScript Object Notation을 나타냅니다. 이는 JavaScript의 객체 형식을 기반으로하며 구조화 된 데이터를 표현하는 인코딩 기술입니다. 요즘에는 특히 서버와 웹 응용 프로그램 간의 데이터 공유에 널리 사용됩니다.
이 기사에서는 DataFrame을 JSON 문자열로 변환하는 방법을 소개합니다.
다음 DataFrame으로 작업합니다.
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
print(df)
출력:
Name Age Course
0 Jay 16 BBA
1 Jack 19 BTech
2 Mark 18 BSc
Pandas DataFrame에는 DataFrame을 JSON 문자열로 변환하거나 외부 JSON 파일로 저장하는dataframe.to_json()
메서드가 있습니다. 최종 JSON 형식은 기본적으로'columns'
인orient
매개 변수의 값에 따라 다르지만'records'
,'index'
,'split'
,'table'
및'values'
로 지정할 수 있습니다.
모든 형식은 다음과 같습니다.
orient = 'columns'
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
js = df.to_json(orient="columns")
print(js)
출력:
{"Name":{"0":"Jay","1":"Jack","2":"Mark"},
"Age":{"0":16,"1":19,"2":18},
"Course":{"0":"BBA","1":"BTech","2":"BSc"}}
orient = 'records'
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
js = df.to_json(orient="records")
print(js)
출력:
[{"Name":"Jay","Age":16,"Course":"BBA"},{"Name":"Jack","Age":19,"Course":"BTech"},{"Name":"Mark","Age":18,"Course":"BSc"}]
orient = 'index'
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
js = df.to_json(orient="index")
print(js)
출력:
{"0":{"Name":"Jay","Age":16,"Course":"BBA"},
"1":{"Name":"Jack","Age":19,"Course":"BTech"},
"2":{"Name":"Mark","Age":18,"Course":"BSc"}}
orient = 'split'
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
js = df.to_json(orient="split")
print(js)
출력:
{"columns":["Name","Age","Course"],
"index":[0,1,2],
"data":[["Jay",16,"BBA"],["Jack",19,"BTech"],["Mark",18,"BSc"]]}
orient = 'table'
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
js = df.to_json(orient="table")
print(js)
출력:
{"schema": {"fields":[{"name":"index","type":"integer"},{"name":"Name","type":"string"},{"name":"Age","type":"integer"},{"name":"Course","type":"string"}],"primaryKey":["index"],"pandas_version":"0.20.0"}, "data": [{"index":0,"Name":"Jay","Age":16,"Course":"BBA"},{"index":1,"Name":"Jack","Age":19,"Course":"BTech"},{"index":2,"Name":"Mark","Age":18,"Course":"BSc"}]}
앞에서 설명한 것처럼 JSON을 외부 파일로 직접 내보낼 수도 있습니다. dataframe.to_json()
함수에 파일 경로를 제공하면 아래와 같이 할 수 있습니다.
import pandas as pd
df = pd.DataFrame(
[["Jay", 16, "BBA"], ["Jack", 19, "BTech"], ["Mark", 18, "BSc"]],
columns=["Name", "Age", "Course"],
)
df.to_json("path\example.json", orient="table")
위의 코드는 JSON 파일을 지정된 경로로 내 보냅니다.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn관련 문장 - Pandas DataFrame
- Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
- Pandas DataFrame 열을 삭제하는 방법
- Pandas 에서 DataFrame 열을 Datetime 으로 변환하는 방법
- Pandas DataFrame에서 float를 정수로 변환하는 방법
- 한 열의 값으로 Pandas DataFrame 을 정렬하는 방법
- Pandas 그룹 및 합계를 집계하는 방법