locで該当のデータがないとき

前提

Pythonでデータの加工・集計をしています。

実現したいこと

PandasのDataFrameでlocを使って、該当するデータを取り出そうとしています。

発生している問題・エラーメッセージ

数が膨大なのでfor文を回しているのですが、たまにそのループ中にDataframeにないデータがあり、エラーが出て止まってしまいます。

(例)ある市区町村から他の市区町村への移動人数のデータがあるとする。例えば、北海道札幌市から沖縄県の市区町村に移動した数を合計したい。しかし日本の南北の端同士なので、移動がない市区町村もあるかもしれない。

例のときにlocを使い、データを絞り込んでいますが、データがないときにエラーが出てしまいます。
下記に記載したエラーが出ないやり方でもできるのですが、格段に処理速度が遅くなってしまいます。
リンク内容
良い方法があれば教えていただきたいです。

該当のソースコード

「エラーがコード」
for same_pre in same_pre_list:
df_residence_area_pop = df_residece.loc[same_pre]

「エラーは出ないが処理速度がかなり落ちるコード」
df_residence_area_pop[df_residence_area_pop["area"] == same_pre]

### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

コメントを投稿

0 コメント