始める無料で始める

テキストフィルターでレコードを除外する

クライアントにたくさん質問し、変数をよく理解することはとても重要です。調べてみると、Assumable mortgage は不動産業界では珍しいケースで、クライアントからはそれらを除外するよう提案がありました。この演習では、like() に似ていますが、単一の値ではなくフィルターに使う値のリストを渡せる isin() を使います。

この演習はコースの一部です

PySparkで学ぶ特徴量エンジニアリング

コースを見る

演習の手順

  • select()show() を使って列 'ASSUMABLEMORTGAGE' に含まれる重複のない値を確認し、文字列 'Yes' を含むすべての値からリスト yes_values を作成します。
  • ~df['ASSUMABLEMORTGAGE']isin().isNull() を使って、リスト yes_values に該当する値を含むレコードを除外し、かつ null のレコードは保持するための NOT フィルターを作成します。このフィルターを変数 text_filter に保存します。
  • where() を使って text_filterdf に適用します。
  • df に残っているレコード数を出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Inspect unique values in the column 'ASSUMABLEMORTGAGE'
df.____([____]).distinct().____()

# List of possible values containing 'yes'
yes_values = [____, ____]

# Filter the text values out of df but keep null values
text_filter = ~df['ASSUMABLEMORTGAGE'].isin(____) | df['ASSUMABLEMORTGAGE'].isNull()
df = df.____(text_filter)

# Print count of remaining records
print(____.____())
コードを編集して実行