728x90
반응형
json 파일을 읽어 온 다음에 pandas로 데이터 프레임을 만들어 보려고 한다.
MS-ASL 데이터셋을 사용하기 위해 이 기법들을 사용했다.
우선 필요한 라이브러리를 import 해주자
import json
import pandas as pd
그런 다음에 root 변수를 만들어 절대 경로를 지정해주고 __main__으로 메인 부분을 작성하자
root = "[절대 경로]"
if __name__ == '__main__':
# 메인 작동 부분
root를 만들어 준 이유는 작성자 기준 Ubuntu 20.04 버전에서 디스크를 마운트해서 쓰기 때문이다.
그래서 기본 경로보다 길기 때문에 작성하기 귀찮으니 그냥 변수로 만들었다.
이 부분은 '# 메인 작동 부분'에 들어가야 할 코드이다.
# json 파일 읽기
with open(root + '/dataset/MS-ASL/MSASL_train.json') as f:
json_data = json.load(f)
# print(json.dumps(json_data, indent="\t"))
# json 파일 출력하기
print("train_shape => (", len(json_data), ",", len(json_data[0]), ")") # (16054, 16)
# 각 속성 담기
url, start_time, end_time, label, signer_id, box, text, width, height, fps = [], [], [], [], [], [], [], [] ,[] ,[]
for i in range(len(json_data)):
url.append(json_data[i]["url"])
start_time.append(json_data[i]["start_time"])
end_time.append(json_data[i]["end_time"])
label.append(json_data[i]["label"])
signer_id.append(json_data[i]["signer_id"])
box.append(json_data[i]["box"])
text.append(json_data[i]["text"])
width.append(json_data[i]["width"])
height.append(json_data[i]["height"])
fps.append(json_data[i]["fps"])
# 데이터 프레임 만들기
graph = pd.DataFrame({
"url": url,
"start_time": start_time,
"end_time": end_time,
"label": label,
"signer_id": signer_id,
"box": box,
"text": text,
"width": width,
"height": height,
"fps": fps
})
print(graph)
open()의 매개변수로 root + '상대 경로'를 넘겨줘 데이터셋이 위치한 곳을 명시해줬다.
그리고 json_data에 json 정보를 담고 json.dumps에 "\t"를 주어 띄어쓰기가 이쁘게 된 상태로 json_data를 출력하게 했다.
우리는 데이터 프레임이 필요하니 이 부분은 주석으로 처리했다.
속성명으로 리스트를 만들어 각 속성명에 해당하는 값들을 담고 pd.DataFrame({ 속성명: 넘겨 줄 리스트, ... })에 넘겨줘 graph라는 데이터 프레임을 만들었다.
마지막으로 데이터 프레임이 잘 만들어졌는데 print()로 찍어주면 끝이다.
728x90
반응형
'~2023' 카테고리의 다른 글
[Server] Apache2 https로 설정하기 (0) | 2021.06.21 |
---|---|
[Tomcat/Issue] Maven 프로젝트를 .war로 배포 시 HTTP 404 ERROR 발생 (0) | 2021.06.21 |
[Server] Ubuntu 20.04에서 Spring Boot 배포하기 (3) - Apache2 Reverse Proxy (0) | 2021.06.11 |
[JS] 스크롤 내리면 나타나는 navBar(메뉴바) 구현 (0) | 2021.06.10 |
[CSS] 단락 높이를 화면에 꽉 맞게 지정하기 (0) | 2021.06.10 |