Pythonデータ分析-PMIデータグラフィック表示

一緒に書く習慣をつけましょう!「ナゲッツデイリーニュープラン・4月アップデートチャレンジ」に参加して5日目です。クリックしてイベントの詳細をご覧ください

控えめな紳士、ダチュアンを使用してください。

序文

とのグラフppi-cpi前回の記事で説明しました。この記事では、経済活動の繁栄を反映する指標を引き続き共有します。この記事では、引き続きクローラー方式を使用してデータを取得し、描画ツールを使用して年ごとにデータを表示します。初心者の方は、クローラーとグラフィック描画の知識の。m0-m1-m2PMImatplotlibPMIpython

PMIデータ取得

データを取得する前に、(製造業のインデックス)データの背後にある意味について話しましょう。製造業PMIは国の基盤であることを誰もが知っているので、それPMIは国の製造業の発展と運営を測定するための指標です。 50%以上の場合は経済力の境界線です。50%以上の場合は製造業が拡大していることを意味します。40-50の場合は不況を意味します。40%未満の場合は不況を意味します。うつ病を意味します。

これはデータ取得であるため、データを取得するには信頼できるWebサイトを見つける必要があります。ここでは、エディターはOriental Fortune.comのデータを使用し、ここでページのアクセスアドレスを直接指定します。

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

下図に購買担当者指数のデータソースを示します。ここでは製造業と非製造業の指数データのみを取得でき、前年比の成長データは取得できません。

PMIのソースがわかったので、どのようにデータを取得しますか?分析のためにページをExcelにコピーする必要がありますか?そうすると、時間と労力がかかります。テーブルの下にページ付けがあることに気付いたと思いますので、ajaxを介してバックグラウンドと通信する必要があります。観察すると、次のインターフェイスが見つかり、データの相互作用の結果を次の図に示します。

#采购经理人指数
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