• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

배운 것 기반으로 만들어보고 있는데 질문이 있습니다.

21.10.14 15:31 작성 조회수 147

1

선생님, 배운것 기반으로 전처리 싹 다하고,

전에 하나하나 분석한거 해보고 있는데 그때처럼 이 부분을 코드치고 돌리면 시리즈가 안보이고 이렇게만 결과가 나와

강의 초에 배웠을 떄랑은 조금 다른것 같은데 이렇게 나오는게 맞나요?? 만들고 있는데 혹시 잘못되었나 싶어서 문의 드립니다.  

Q. 뒤에 확진일자 value_counts()로 plot이 안그려져서 혹시 여기가 잘못된것 같은데 어떤게 잘못되었나 궁금합니다.

https://colab.research.google.com/drive/1sOxHYPFilE7LafM7EaHf322HZXlsZK4W?usp=sharing

 

답변 5

·

답변을 작성해보세요.

1

안녕하세요.

질문 주신 내용에 답변을 남겼는데 혹시 알림이 가지 않을까봐 다시 남깁니다.

URL 부분의 페이징이 아래와 같이 지정되어야 합니다. 확인해 보세요!

 

url = f"https://news.seoul.go.kr/api/27/getCorona19Status/get_status_ajax.php?draw={page_no}"
url = f"{url}&order%5B0%5D%5Bdir%5D=desc&start={start_no}&length=100"

1

chowon9707님의 프로필

chowon9707

질문자

2021.10.14

답변 감사합니다.

선생님이 말씀해주신 말은 대충 이해가 가는데 어떻게 수정해야할지 모르겠어요 ㅜㅜ

이것저것 해보는데 자꾸오류가 터져서 ,,,,,혹시 어떻게 코드를 수정해야하는지요?

 

제가 링크에 이제 댓글달기 기능을 추가했는데 여기에 답변하시는게 혹시 번거우로시면 

바로 댓글 달아주셔도 됩니다. 

 

감사합니다.

 

>>> 제가 수정안하고 돌려보고 있는데 이번에는 이쪽 코드에서 오류가 나는데 혹시 뭐가 잘못인지 알려주시면 감사합니다.

https://colab.research.google.com/drive/1sOxHYPFilE7LafM7EaHf322HZXlsZK4W?usp=sharing

 

 

오류메시지를 읽어보면 컬럼의 elements 수가 다르다고 나옵니다.

df_all.columns 와 cols 를 따로 출력해 보세요.

그러면 두 개의 컬럼이 다를거에요.

df_all.columns 에 있는 값을 cols로 대체하는 것이기 때문에 순서, 갯수가 맞아야 합니다.

감사합니다.

1

안녕하세요.

수집 하는 코드를 보면 start_no를 만들어 주었는데 사용하고 있는 곳이 없어요.

이 함수로 여러 페이지를 수집했다면 같은 페이지만 수집이 되었을거에요.

그래서 날짜가 10월 13일 데이터만 있는거에요.

다른 페이지로 바꿔가면서 함수를 실행해 주어야 하는데 페이지 마다 넘겨가며 데이터를 수집할 수 있게 아래 함수를 수정해 보세요!

 

그리고 수강평 남겨주셔서 감사합니다!

수업을 만들고 개선하는데 큰 힘이 됩니다 :)

chowon9707님의 프로필

chowon9707

질문자

2021.10.21

여기부분을 일단 어떻게 바껴야 한날짜가 아니라 모든데이터를 가져올 수 있나요? 

def get_list_seoul_covid19_100_current(start_page,end_page=80):

    page_list=[]
    for page_no in trange(start_page,end_page):
      one_page=get_seoul_covid19_100_current(page_no)

      if len(one_page["data"]) > 0:
         one_page=pd.DataFrame(one_page["data"])
         page_list.append(one_page)
         time.sleep(0.5)
      else:
        break

    return page_list

def get_list_seoul_covid19_100(start_page,end_page=80):

    page_list=[]
    for page_no in trange(start_page,end_page):
      one_page=get_seoul_covid19_100_current(page_no)

      if len(one_page["data"]) > 0:
         one_page=pd.DataFrame(one_page["data"])
         page_list.append(one_page)
         time.sleep(0.5)
      else:
        break

    return page_list
 
이렇게 해도 19일날짜 데이터만 나와서 뒤에 일자별이런거 시각화할때 아무것도 안그려지는 것같습니다.. 어떻게 수정해야하나요?

안녕하세요. URL 지정이 잘못되어 보입니다.

페이지 번호를 아래 코드와 같이 지정해 보세요!

 

url = f"https://news.seoul.go.kr/api/27/getCorona19Status/get_status_ajax.php?draw={page_no}"
url = f"{url}&order%5B0%5D%5Bdir%5D=desc&start={start_no}&length=100"

 

0

chowon9707님의 프로필

chowon9707

질문자

2021.10.21

선생님이 말씀해주신 바로 위코드로 수정했는데도 20일날짜 하루치만 가져와지고 밑에서 연번 컬럼은 또 안 불러와지는데 뭐가 잘못된건가요?

https://colab.research.google.com/drive/1dOIzJP10qMdO18s6r7yknMFi0AmpjvdW?usp=sharing

chowon9707님의 프로필

chowon9707

질문자

2021.10.21

맨처음에 url 을 XHR에서 프리뷰에서 route들어간거로 가져오라고 하셨는데 루트 들어간 웹사이트 링크가 없습니다 거의 앞쪽에 제 URL보면 혹시 그것때문에 그런건가요?

안녕하세요. 

아래 코드를 보면 page_list[:1] 로 결과를 끝까지 수집하더라도 1페이지만 가져오도록 되어 있어요.

해당 코드를 주석처리 하고 끝까지 실행해 보세요. 

chowon9707님의 프로필

chowon9707

질문자

2021.10.22

아 [:1] 이거가 앞에서 한개 가져오는거라 그렇군요... 알려주셔서 감사합니다..! 이제 완전히 오류없이 돌아가는 것 같습니다.

1. 마지막으로 하나만여쭙겠습니다. 리퀘스트 라이브러리로 데이터 불러올때, 

그러면 제가 바로 윗윗댓글에 언급한 링크 URL보면 route들어간 링크 말고 get_status_ajax.php?draw~~~, 이 ajax요거 들어간 링크로 영상에서 말씀해주신거로 하면 되는건가요?

영상에서 따라서 하려고하는데 루트들어간거는 없고 위 모양 같은 주소만 나오는데 저는 이거로 가져와서 한 건데 되는거라면 이게 맞는것인지 궁금합니다. 

계속되는 질문에 답해주셔서 감사합니다.. 어렵사리 최종완성을 할 수 있게 되었습니다~~ 진심으로 감사드려요

 

 

끝까지 실습해 볼 수 있게 되었다니 다행이네요!

오류를 해결하는 과정이 쉽지 않았을텐데 멋집니다 👍

Request URL은 좀 더 정확하게 Headers의 Requests URL 을 참고해 보는 것이 좀 더 정확합니다!

이제 실습을 완성했으니 다른 데이터에 적용해 볼 수 있게 되길 기대합니다 🙏 

chowon9707님의 프로필

chowon9707

질문자

2021.10.22

아하 알려주셔서 감사합니다 ㅠㅠ 프리뷰라고 맨 처음꺼 할때 나오는 부분이 정확한것이군요!

진심으로 감사드립니다... 좋은 하루 되시길 바라겠습니다. ;)

감사합니다. 즐거운 주말 되세요 :)

0

chowon9707님의 프로필

chowon9707

질문자

2021.10.19

선생님, 혼자 만들어보고 있는데 지금, 두 부분에서 막혀서 안되는데 뭐가 잘못되었는지 봐주시면 감사드립니다....

c.f.https://colab.research.google.com/drive/1sOxHYPFilE7LafM7EaHf322HZXlsZK4W?usp=sharing

 

chowon9707님의 프로필

chowon9707

질문자

2021.10.19

1. if 랑 그 위에 case_count 같은 줄에 놔도  자꾸 인덴트 에러가 뜨는데, 어떡해야하나요??

2. 그리고 거기서 안되서 그런지 뒤에 plot 시각화할때도 그래프에 아무것도 안나타나고 그러는데,,,,, 위의 1번문제 때문인가요

3.그리고 지금 딱 3일치만 나오는데요 위에서  page를 3까지만 돌려서 데이터를 불러와서 그런가요??

 

답변 미리 감사합니다.

안녕하세요.

1. 올려주신 스크린샷을 보면 if 앞에 공백이 하나 더 있네요.

바로 윗줄 case_count 와 같은 위치에 놓이게 수정해 보세요. 그래도 안 된다면 스크린샷을 함께 올려주세요.

 

2. first_day 와 last_day 에 어떤 값이 들어있는지 직접 출력해서 확인해 보세요.

pd.date_range 로 아무값도 생성이 되어있지 않습니다.

 

3. 3일치만 나온다면 페이징 부분을 확인해 보세요!