Python 데이터 분석 - PMI 데이터 그래픽 디스플레이

함께 쓰는 습관을 들이세요! "너겟 데일리 뉴 플랜 · 4월 업데이트 챌린지" 참여 5일차입니다. 클릭하시면 이벤트 내용을 보실 수 있습니다 .

겸손한 신사, Dachuan을 사용하십시오.

머리말

및 의 그래프 ppi-cpi 이전 기사에 설명되어 있습니다.이 기사 에서는 경제 활동의 번영을 반영하는 지표를 계속 공유합니다.이 기사에서는 여전히 크롤러 방법을 사용하여 데이터를 얻은 다음 그리기 도구 를 사용하여 데이터를 연도별로 표시합니다. 초보자를 위해 , 크롤러 및 그래픽 드로잉 지식 의 .m0-m1-m2PMImatplotlibPMIpython

PMI 데이터 수집

데이터를 얻기에 앞서 PMI구매관리자지수(구매관리자지수) 데이터의 의미에 대해 알아보겠습니다. 제조업이 국가의 근간이라는 것은 누구나 알고 있는 사실 PMI이므로 한 국가의 제조업의 발전과 운영을 측정하는 지표입니다. 50% 이상이면 경제력의 구분선이고 50% 이상이면 제조업이 확대되고 있음을 의미하며 40-50이면 침체를 의미하며 40 미만이면 침체를 의미한다 우울증을 의미합니다.

데이터 수집이기 때문에 데이터를 얻으려면 신뢰할 수 있는 웹사이트를 찾아야 합니다.여기에서 편집자는 Oriental Fortune.com의 데이터를 사용하고 여기에 페이지의 액세스 주소를 직접 제공합니다.

# 货币供应量数据访问地址
https://data.eastmoney.com/cjsj/pmi.html
复制代码

구매관리자지수 데이터 출처는 아래 그림과 같으며, 여기서는 제조업과 비제조업 지수 데이터만 얻을 수 있으며, 전년동기대비 성장률 데이터는 입수하지 않습니다.

이제 PMI의 출처를 알았으니 데이터를 어떻게 얻습니까?분석을 위해 페이지를 엑셀로 복사해야 합니까?그렇다면 시간과 노동 집약적일 것입니다. 테이블 아래에 pagination이 있다는 것을 눈치채셨을 거라 생각하는데, ajax를 통해 background와 통신이 되어야 합니다.관찰해보면 다음과 같은 인터페이스를 발견할 수 있으며, 데이터 상호작용의 결과는 다음 그림과 같습니다.

#采购经理人指数
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=21

# 这里也同样贴了前文中货币供应量接口、 ppi 和 cpi 的接口,会发现都是一样的,只不过mkt的参数不一样
# 货币供应量接口
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=11
# ppi 数据和cpi 数据
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=22
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=19
复制代码

데이터 수집에 관해서는 여전히 원칙적인 방식으로 운영 python되며 데이터를 수집하는 데 사용되며 여기에서 데이터 requests를 수집하는 데 사용됩니다.

    body = requests.get(req_url).text
    body = body.replace("(", "").replace(")", "")
    data_list = body.split("\",\"")

    # 定义数据
    date_list, pmi1_list, pmi2_list = [], [], []

    for node in data_list:
        node = node.replace("]", "").replace("[", "").replace("\"", "")
        arr_list = node.split(",")
        date = arr_list[0]
        if date < "2010-01-01":
            continue
        # 时间数据
        date_list.append(date)
        # 数据操作存储
        pmi1_list.append(float(arr_list[1]))
        pmi2_list.append(float(arr_list[3]))
        print(node)

复制代码

얻은 최종 데이터는 다음 그림에 나와 있습니다.

PMI 그래픽 드로잉

그래프를 그리기 전에 데이터를 처리해야 합니다.

  • 1 데이터를 처리하여 표시해야 하는 데이터를 추출한 다음 데이터 형식을 변환해야 합니다.
  • 2 데이터 처리 시 제조업 및 비제조업 목록 및 시간에 따라 데이터를 획득합니다.
  • 3 여전히 np.asarray를 사용하여 데이터를 생성하고 그래픽 드로잉을 준비합니다.

위의 관점에 따르면 데이터 처리 코드는 다음 그림과 같습니다.

그래픽 그리기에는 다음 사항이 있습니다.

  • 1 제조 및 비제조 데이터를 그래프로 표시하여야 하며, 식별을 위해 범례를 표시하여야 한다.
  • 2 표준 대비 선 스타일을 설정하는 데 사용되는 50 및 40 수평선으로 표시기를 설정합니다.

마지막으로 이러한 인코딩 후 제조 및 비제조 지수의 최종 비교 그래프는 다음과 같습니다.

요약하다

이 기사에서는 간단한 python크롤러 numpy하고 를 사용하여 간단한 데이터 처리를 수행하고 마지막으로 를 사용하여 그래픽을 matplotlib그려서 제조 및 비제조 색인 그래픽을 표시하는 직관적인 방법을 구현합니다. 인터페이스 방법을 사용하여 데이터를 얻으면 데이터 업데이트를 얻고 언제든지 그래프를 다시 그릴 수 있으므로 데이터 회수 단계를 절약할 수 있습니다.

추천

출처juejin.im/post/7082787341508542500