ある日時を条件にtrueとfalse
投稿日: 2020年12月16日
OS: Windows 10
バージョン: RapidMiner 9.8
ある日時を条件にtrue、falseと結果を返すには、Generate Attributesオペレータのdate_before()、もしくはdate_after()関数を使用します。
二つの関数は以下のように説明されます。
date_before(日付型 first, 日付型 second)
第一引数の日付が第二引数の日付よりも前である場合、trueを返します。
date_after(日付型 first, 日付型 second)
第一引数の日付が第二引数の日付よりも後である場合、trueを返します。
この関数を使用する際のポイントは、引数はどちらも「日付型」である点です。
例えば1880年7月2日を境にtrue、falseと分けたい場合、ただ”1880/07/02″とするだけでは日付型と認識されません。文字列として認識されてしまい、処理がエラーになってしまいます。
“1880/07/02″を日付型と認識させるには、date_parse_loc()を使用しロケールに”ja”を加えます。
※ロケールに”ja”を加えておくことで、使用言語による表記ゆれを防ぎます。
実行すると、1880年7月2日以前はtrue、後はfalseと判定することができました。これを基に、if()などの条件で使用できます。
補足 条件に時刻も指定したい場合
date_parse_loc()では、時間を指定しても0:00:00と扱われてしまい、時間まで指定することができません。1880/07/02 10:00:00のように時間まで条件に指定したい場合は、date_parse_loc()の代わりにdate_parse_custom()を使用します。