• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    해결됨

바뀐 국기 사이트에 대하여

22.06.02 05:26 작성 조회수 225

2

- 기존 사이트였던 www.countryflags.io 가 flagcdn.com 로 대체되면서 직접 따라해보니, 2가지 문제점이 있는 걸 발견했습니다.

1. 대문자로는 404 Not Found가 뜹니다.

  - 따라서 이미지 링크를 만들 때는 .lower() 로 소문자 변경 처리를 해줘야 합니다.

 - ex) https://flagcdn.com/48x36/US.png -> https://flagcdn.com/48x36/us.png

 

 

2. 국기 매칭 오류

 - iso2와 Country_Region 를 매칭할 때부터 오류가 있는 것을 확인했습니다.

- 시각화를 하면서 US가 워낙 인구가 많기에 눈에 보였지만 다른 것들도 제대로 매칭되었는 지는 확신할 수 없습니다.

- 강의 자료를 바탕으로하면, US의 경우 AS로 매칭이 되어서

https://flagcdn.com/48x36/as.png 국기가 뜨더라구요.

- 물론 강사님 말씀처럼, 이미지는 참고용이므로 크게 신경쓰지 않아도 될 문제같습니다.

그래서 저는 만들어진 데이터 프레임 값 중 US만 변경하려고 다음과 같이 허접하게 함수를 만들어서 보정했습니다. ㅎㅎ;;

def test_func(row):
    if(row['Country_Region'] == 'US'):
        row['Country_Flag'] = 'https://flagcdn.com/48x36/us.png'
    return row

doc_final_country = doc_final_country.apply(test_func, axis=1)

 

대강 국기가 잘 나오는 것 같네요.

 

혹시나 이 수업을 들으시는 누군가에게 도움이 될까..? 하여 간단히 기록 남겨봅니다..!

답변 2

·

답변을 작성해보세요.

2

geun.son님의 프로필

geun.son

2022.06.03

  • 말씀해 주신 것처럼 국기 사이트가 바뀌면서 iso2가 소문자여야 하네요. 그래서 저는 country_info 세팅하는 코드(country_info = country_info[['iso2', 'Country_Region']]) 밑에 아래 코드를 추가했습니다. 
    • country_info['iso2'] = country_info['iso2'].str.lower()
  • 또한 미국 국기가 이상한 국기로 설정되는 것에 관해서요.
    • 처음 알았는데 미국에 American Samoa라는 해외 영토가 있었네요. 여기는 미국 영토(Country_Region = US)이지만 iso2는 'AS'이고 국기도 다른 것을 쓰고 있습니다. 
    • 그런데 이 American Samoa 데이터가 US 데이터 중 가장 먼저 등장합니다. 덕분에 country_info에서 중복을 제거할 때 첫 번째 것(keep='first')을 남기면 이 iso2가 남아버리면서 국기가 https://flagcdn.com/48x36/as.png로 세팅됩니다.
    • 중복 제거할 때 keep='last'로 바꾸면 미국 국기가 American Samoa 국기로 세팅되는 것은 막을 수 있습니다. 혹 국기 이미지가 거슬리신다면 참고하시면 좋을 것 같습니다. 

2

안녕하세요.

 

국기가 조금 그래프를 이쁘게 하려고 추가로 넣은 거긴 한데, 크롤링이 들어간다든지, 국기 이미지 사이트가 설마했는데, 해당 사이트조차 없어져서 별도 사안들을 자료에도 기재해놓고, 또 다른 수강생님은 아예 다른 방안도 공유해주셨는데요.

별도로 자료에 기재해놓은 사안에 대해, 직접 작업해보시면서, 참고할만한 사안을 이렇게 공유까지 해주시니,

완벽하게 100% 흡수하신 것 같습니다. (직접 조금 변형해서 해보고, 이슈 있으면 파악해서 해결해보고, 심지어 공유까지 하면, 정말 100% 거든요)

 

US가 이 강의를 만들때는 그래프에서 나타나지 않아서, 인지하지 못한 이슈인 듯 한데, 알려주셔서 감사합니다.

 

감사합니다. 많은 분들이 또한 참고하실 수 있으실 것 같습니다.