ExcelPythonでExcelのIF関数のように条件分岐で値を設定する方法(多値分類もあり)2020-10-26本記事では、PythonでExcelのIF関数のように条件分岐で値を設定する方法をご紹介します。今回は、以下の実行環境でプログラムを実行しています。1.2.6・Pandas:1.1.2テストデータは、次のような予算管理表を使います。利用するライブラリはPandasです。テストデータの予算管理表をdfとして読み込んでおきます。'予算管理表')PythonでExcelのIF関数のように条件分岐で値を設定する方法(2分類)まずは、次の条件の2分類を考えます。・「2021年度」列が、5000越の場合は、「大型件名」とする・それ以外は、「小型件名」とするこれをExcelで行うと、IF関数を使って、次のようになります。これをPythonで書くと次のようになります。'小型件名')このように、apply()とlambda関数、IF文の組み合わせで書けます。結果は、Excelと同じになります。apply()とlambda関数、IF文の組み合わせでは、2分類までしかできません。elifが使えないのです。次は、3分類以上に分類する方法をみていきます。PythonでExcelのIF関数のように条件分岐で値を設定する方法(多値分類)ここでは、次の条件の3分類を考えます。・「2021年度」列が、5000越えの場合は、「大型件名」とする・「2021年度」列が、5000以下で2000越えの場合は、「中型件名」とする・それ以外は、「小型件名」とするこれをExcelで行うと、IF関数を入れ子にして次のように書きます。これによって、「件名番号」列が'1006'が「中型件名」となり、3分類になりました。本記事の最重要箇所Pythonでは、自分で関数を作って、map()を使って、3分類以上の条件分岐ができるようになります。次のように3分類する関数を作ります。'小型件名'関数の処理概要は、上のコメントの通りです。IF文にelifを使って、条件分岐を増やしたものになります。次に、この関数を列のそれぞれの値に適用するために、map()を使います。map()は次のように書きます。df['2021年度'].map(check_kingaku)列を指定して、map()の引数に自分で作った関数名を入れるだけです。この結果は、次の通りになります。Excelの結果と同じように、「件名番号」列が'1006'が「中型件名」となり、3分類になっていることがわかります。以上、PythonでExcelのIF関数のように条件分岐で値を設定する方法を、多値分類も含めて説明してきました。最後まで読んでいただき、ありがとうございました。-Pythonを利用-インスタって自動で投稿できないのかな。...4これまでPythonで作ったツール・プログラム(ブログ、SNS、画像処理)ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。matplotlibで棒グラフを描く方法NEXTPython/matplotlibで積み上げ・100%積み上げ棒グラフを描く方法いなサラ田舎の情シスサラリーマン。妻と娘(5歳、1歳)の4人家族。2017年にNTTデータからUターン転職し、事業会社の社内SEで勤務。note」を立ち上げ、収益化。-Pythonを利用-インスタって自動で投稿できないのかな。...4これまでPythonで作ったツール・プログラム(ブログ、SNS、画像処理)ここでは、サイト管理者のいなサラがこれまでPythonで作ったものをご紹介します。