• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

json value 값 할당 부분에 대해서 궁금합니다.

20.10.01 15:48 작성 조회수 103

0

def func(row):

if row['Country_Region'] in json_data:                  row['Country_Region'] = json_data[row['Country_Region']]

  return row

--------------------------------------------

이 구문에서 굵게 표시한 부분이 궁금합니다.

print (json_data.items()) 실행 해서 확인해보면

이와 같이 나오고('Mainland China', 'China')

함수 부분을 적용하면 'China'로 자동변경이 되는데

구문에서는 value값을 할당한게 아니고 자동적?으로 변경이 된거 같은데  ('Mainland China' -> 'China')

이 부분이 어떻게 적용되는지 궁금합니다.




답변 1

답변을 작성해보세요.

2

안녕하세요. 다음 부분을 말씀하시는거죠?

def func(row):

    if row['Country_Region'] in json_data:

        row['Country_Region'] = json_data[row['Country_Region']]

    return row

이 부분은 영상에서 설명드렸 듯이, 다음 코드에서 json_data 에 각 키별로, 변환될 값을 매칭시켜놓았고,

따라서, json_data[ 특정 키 ] = 특정 키에 해당하는 값 을 가져오게 해놓았습니다. 

(이 부분은 파이썬 사전 문법을 사용하였습니다. 사전 문법은 파이썬 기본 문법으로, 본 과정에서도 가볍게는 다루지만, 파이썬 기본 문법에 해당해서, 파이썬 입문과 크롤링 부트캠프 기초 강좌에서 상세히 다룹니다. )

그래서 다음과 같이 하면, row['Country_Region'] 값이 json_data['Mainland China'] 되는 셈이고, 그렇다면 json_data['Mainland China'] 은 'China' 가 되서, 결과적으로 row['Country_Region'] = 'China' 로 됩니다.

즉, 'Mainland China' 값은 'China' 로 변경이 됩니다.

row['Country_Region'] = json_data[row['Country_Region']]

아무래도 지금 설명한 부분은 답변으로 보다는, 영상에서 설명한 부분을 반복해보시는 것이 조금더 나을 것 같기는 하고요. 파이썬 사전 문법에 익숙하지 않다면, 파이썬 사전 문법을 영상 또는 가볍게 다음 링크를 참고해보시는 것이 좀더 좋을 것 같습니다. 감사합니다.

https://wikidocs.net/16

---------------------

import json

with open('COVID-19-master/csse_covid_19_data/country_convert.json', 'r', encoding='utf-8-sig') as json_file:

    json_data = json.load(json_file)

    print (json_data.keys())

김정행님의 프로필

김정행

2022.08.08

저도 비슷한 부분이 궁금하던 차에 이 댓글을 보았습니다.

import json

with open('COVID-19-master/csse_covid_19_data/country_convert.json', 'r', encoding='utf-8-sig') as json_file:
    json_data = json.load(json_file)
    print (json_data.keys())
    print('\n\n\n')
    print (json_data.values())

 

 

아래 처럼 json_data.values()를 같이 print 하여 조회하면 key와 연결되어 있는 값들을 확인할 수 있습니다 ~!