Pandas による文字列データ操作

PythonPythonBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python の Pandas ライブラリを使って文字列データを操作する方法を学びます。文字列の文字を小文字に変換したり、文字列の一部を抽出したり、文字列の値を置き換えたりする方法など、様々な Pandas の組み込みメソッドを学びます。

VM のヒント

VM の起動が完了したら、画面の左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題があった場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 98%です。学習者から 100% の好評価を得ています。

必要なライブラリとデータのインポート

まずは、Pandas ライブラリをインポートして、このチュートリアルで使用するデータを読み込みましょう。

## 必要なライブラリをインポート
import pandas as pd

## データを読み込む
titanic = pd.read_csv("data/titanic.csv")

文字列を小文字に変換する

次に、Name列のすべての文字を小文字に変換します。これを達成するために、str.lower()メソッドを使用します。

## 'Name'列のすべての文字を小文字に変換する
titanic["Name"] = titanic["Name"].str.lower()

名前から苗字を抽出する

次に、乗客の苗字を含む新しい列Surnameを作成しましょう。これは、Name列のカンマの前の部分を抽出することで達成されます。

## 'Name'列をカンマで分割し、最初の部分を抽出する
titanic["Surname"] = titanic["Name"].str.split(",").str.get(0)

特定の乗客データを抽出する

次に、タイタニック号の船内にいた伯爵夫人たちの乗客データを抽出しましょう。Name列に'Countess'という単語が含まれる行を見つけるために、str.contains()メソッドを使用します。

## 'Name'に'Countess'が含まれる行を見つける
countesses = titanic[titanic["Name"].str.contains("Countess")]

最長の名前を見つける

タイタニック号の乗客の中で最も長い名前を持つ人を見つけてみましょう。各名前の長さを取得するためにstr.len()メソッドを、最長の名前のインデックスを見つけるためにidxmax()メソッドを使用します。

## 各名前の長さを取得する
name_lengths = titanic["Name"].str.len()

## 最長の名前のインデックスを見つける
longest_name_index = name_lengths.idxmax()

## 最長の名前を取得する
longest_name = titanic.loc[longest_name_index, "Name"]

列の値を置き換える

最後に、Sex列の値を置き換えましょう。「male」を「M」に、「female」を「F」に置き換えます。これにはreplace()メソッドを使用します。

## 'Sex'列の'male'を'M'に、'female'を'F'に置き換える
titanic["Sex_short"] = titanic["Sex"].replace({"male": "M", "female": "F"})

まとめ

この実験では、Python の Pandas ライブラリを使って文字列データを操作する方法を見てきました。文字列を小文字に変換したり、文字列の一部を抽出したり、文字列の内容に基づいて特定の行を見つけたり、最長の文字列を見つけたり、文字列を置き換えたりする方法を学びました。この知識は、データ分析や機械学習における重要なステップであるデータ前処理において非常に役立ちます。