投稿

9月, 2022の投稿を表示しています

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 13本目 『Regular Expression 正規表現の前方一致で条件指定する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 13本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 13本目 P-013: 顧客データ(customer.csv)から、ステータスコード(status_cd)の先頭がアルファベットのA〜Fで始まるデータを全項目抽出し、10件表示せよ。            以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! さてさて、、いろんなやり方があると思うんですがKNIME(ナイム)にて正規表現(Regular Expression)を使って条件の抽出ができるかやってみます。 それ以外にも少し力技でマニュアルで抽出する方法も試していきましょう。 KNIME(ナイム)での正規表現(Regular Expression)を使った方法から。   「先頭がアルファベットのA〜Fで始まるデータを全項目抽出」の正規表現をRow filterノードで実行してみます。その後で先頭の10件をお馴染みのTOP K Selectorノードで取得します。 『^[A-F].*』 が正規表現の条件となります   Regular Expression 正規表現からの先頭の10件の結果です         それでは次の方法、最初の一文字目を抽出して、条件となるアルファベット(A〜F)を含んでいる行を探し出す方法について   String Manipulationノードで『subst...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 12本目 『データの部分一致で条件指定する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 12本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 12本目 P-012: 店舗データ(df_store)から、住所 (address) に"横浜市"が含まれるものだけ全項目表示 せよ。            以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! さてさて、、今回は住所 (address) に"横浜市"が含まれていたら抽出ですね。今回もお馴染みの自由にフィルタを行えるRule-based Row Filterノードにて、条件を作って 「条件 => TRUE 」 の形とできるか探ってみましょう。   今回は特定の文字列が含まれているかと調査するものなので、、文字列絵を検索するLIKEを使用してみます。今回は以下の条件式で取得できました。   $address$ LIKE "*横浜市*" => TRUE             という感じで今回は終了となります! もちろん他の方法もあるので探ってみてください :)     本日のデータサイエンス100本ノックをKNIME(ナイム)でやってみる はここで終了です!   お疲れ様でした!

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 11本目 『データの後方一致で条件指定する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 11本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 11本目 P-011: 顧客データ(customer.csv)から顧客ID(customer_id)の末尾が1のものだけ全項目抽出し、10件表示せよ。            以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! さて、今回の課題は、前回の「データの前方一致で条件指定する」の逆で、「データの後方一致で条件指定する」というもので、データ文字列の後方から条件で抽出していくというものですね。     今回もど定番の方法で。。   まず顧客ID(customer_id)の末尾が1だけを取得します。   KNIMEではRIGHT関数はないので代わりにString Manipulationノードを使用して、substr関数を使い取得します。 substr($customer_id$, length($customer_id$)-1)   この後は、簡単ですね、、"1"に一致するしている「10件表示」ですね。           という感じで今回は終了となります! もちろん他の方法もあるので探ってみてください :)     本日のデータサイエンス100本ノックをKNIME(ナイム)でやってみる はここで終了です!   お疲れ様でし...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 10本目 『データの前方一致で条件指定する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 10本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 10本目 P-010: 店舗データ(df_store)から、店舗コード(store_cd)が"S14"で始まるものだけ全項目抽 出し、10件表示せよ。            以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! さて、今回の課題に関してもいろんなやり方が出来そうですね。   今回はど定番の方法で。。 まず 店舗コード(store_cd)が"S14"で始まるって のを探りたいので、最初の3文字だけを対象にするように絞り込んでみました。   KNIMEではLEFT関数はないので代わりにString Manipulationノードを使用して、substr関数を使いました。 substr($your_column$, 0, 3)   この後は、簡単ですね、、"S14"に一致する店舗コード(store_cd)の抽出を行います。     最後は、、「10件表示せよ」なのでTop Kですね。       という感じで今回は終了となります! もちろん他の方法もあるので探ってみてください :)     本日のデータサイエンス100本ノックをKNIME(ナイム)でやってみる はここで終了です!   お疲れ様でした!

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 9本目 『ド・モルガンの法則で書き換える』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 9本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 9本目 P-009: 以下の処理において、出力結果を変えずにORをANDに書き換えよ。 df_store.query('not(prefecture_cd == "13" | floor_area > 900)') ですが、これはPython用の設問なのでKNIME用として、、 「出力結果を変えずにORをANDに書き換える」とします NOT([prefecture_cd] = “13” OR [floor_area] > 900)            以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! 今回はORをANDに変えるということなのでそれぞれの演算子を調整する必要がありますね。   さて、まずは実施前の結果をKNIMEで確認。結果は3件でした。   NOT ( $prefecture_cd$ = "13" OR $floor_area$ > 900) => TRUE         これを、、以下のようにANDへ変更し、floor_areaの方は「>」は「<=」とします。先頭の$prefecture_cd$も本当は「=」は「!=」としたいですがKNIMEには「!=」が無いようなので、、以下のようにしてみました。   NOT ($prefectu...

データサイエンス100本ノックをKNIME(ナイム)でやってみる - 8本目 『特定条件に合致しない行を抽出する』

イメージ
「データサイエンス100本ノックをKNIME(ナイム)でやってみる」の 8本目 です。   実際に公開されている演習問題(100問は こちらに公開 されております)に取り組んでいきます。一緒に手を動かしてやってみましょう。大リーグへの道は長し! KNIMEのインストールが完了していない場合は こちら を参考にしてみてください KNIMEの基本的な使用方法などをざっと確認したい場合は アーカイブ を 「データサイエンス100本ノック」って何ですか?という場合は こちら を       データサイエンス 100本ノック 8本目 P-008: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の全ての条件を満たすデータを抽出せよ。 顧客ID(customer_id)が”CS018205000001″ 商品コード(product_cd)が”P071401019″以外        以下の答え・解説を見る前に実際にチャレンジしてみてください。                     では、実際にKNIME(ナイム)でやってみよう! 今回はですね、「 特定条件に合致しない行を抽出する(!=) 」ということで不一致を探すというものですね!   設定ではフィルターしたいのは、顧客ID(customer_id)が"CS018205000001"で、その中の商品コード(product_cd)が”P071401019″以外のものということになります。       ここでは、前回までとは異なり、フィールド「product_cd」の条件は不一致を取得するものとなります。条件は「以外」、ということなので「等しくない」という演算子を選びます。   最初は不一致の「!=」を探したのですが、 KNIME(ナイム)では不一致は NOT でいいようです。以下のようにかっこで後ろの条件の方を囲ってあげて、その中に商品コード(p...