始める無料で始める

敬称を外して氏名を取り出す

airlines DataFrame で調査回答者のメタデータを収集する際、回答者の氏名が full_name 列にフルネームとして保存されました。ところが詳しく確認すると、多くの名前の前に "Dr.""Mr.""Ms.""Miss" といった敬称が付いていることが分かりました。

最終的な目標は、回答者の名と姓をそれぞれ含む first_namelast_name という 2 つの新しい列を作成することです。その前段階として、敬称を取り除く必要があります。

airlines DataFrame は環境内にあり、pandaspd として読み込まれています。

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

Pythonで学ぶデータクリーニング

コースを見る

演習の手順

  • full_name から "Dr.""Mr.""Miss""Ms." を、この順番で空文字列 "" に置き換えて削除します。
  • .str.contains() を使った assert 文を実行し、full_name に敬称が残っていないかをテストします。

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

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

# Replace "Dr." with empty string ""
airlines['full_name'] = airlines['full_name'].____.____("____","")

# Replace "Mr." with empty string ""
airlines['full_name'] = ____

# Replace "Miss" with empty string ""
____

# Replace "Ms." with empty string ""
____

# Assert that full_name has no honorifics
assert airlines['full_name'].str.contains('Ms.|Mr.|Miss|Dr.').any() == False
コードを編集して実行