single
カテゴリ変数の管理
メニューを表示するにはスワイプしてください
これから、欠損値を含まないデータセットを扱います。NaN列の'Age'値は、その列の平均値で置き換えられ、NaN列の'Fare'値は削除されました。
次に、カテゴリ変数の管理方法について学びます。カテゴリ変数とは、いくつかのカテゴリーを持つ変数のことです。例えば、'Sex'列には'male'と'female'があり、'Embarked'列には'Q'、'S'、'C'があります。
各カテゴリの値の数を計算したり、それらの情報を調べたりするにはどうすればよいでしょうか?
すでに.loc[]、.isin()、.between()など多くの関数を知っていますが、pandasにはこれをより簡単かつ便利に行う方法があります。それが.get_dummies()関数です。例として、'Embarked'列に適用してみます。実装とその結果を見てみましょう(ランダムに選ばれた5人の乗客の名前と新しく作成された列を出力します)。
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
出力例のひとつ、つまりランダムに選ばれた5行の組み合わせのひとつを確認しましょう。表は横にスクロールしてすべての列を確認できます。
説明:
この結果、関数は列 'Embarked' を 'Embarked_C'、'Embarked_Q'、'Embarked_S' の3つの列に分割します。合計で3つのカテゴリがあります。各乗客は 'Embarked' 列に自分のカテゴリを持っています。そのため、関数は各カテゴリに対応する3つの列を作成し、各乗客に対して、該当する地理に関連していればその列に 1 を、そうでなければ 0 を入力します。したがって、1 は1つの列のみに入ります。
pd.get_dummies(data, columns = ['Embarked'])
pd.get_dummies()- この関数はカテゴリ変数をダミー変数(1または0)に変換します。data- 使用したいデータフレーム。columns = ['Embarked']- ダミー変数に変換したいカテゴリ変数を持つ列。列名はリストに入れる必要がありますので注意してください。
スワイプしてコーディングを開始
ここでの課題は、'Sex' 列をカテゴリ変数からダミー変数に変換することです。その後、各カテゴリの値の合計を出力してください。
解答
フィードバックありがとうございます!
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください