要約
Pythonのデータ分析ライブラリであるPandasは、大量のデータを操作し、分析するための高度なツールセットを提供しています。
Pandasを使用することで、データの読み込み、フィルタリング、変換、結合、集計などを迅速かつ簡単に行うことができます。
また、PandasはSeries(1次元のデータ構造)やDataFrame(2次元のデータ構造)といった高度な機能を提供しており、データ分析において欠かせないライブラリの1つです。
詳細内容
Pandasの基本操作を説明するために、以下のようなサンプルデータを使用します。
こちらのデータを読み込んで、Pandasの基本的な機能で操作していきます。
“`
Name,Age,Gender
Amy,22,Female
Bob,25,Male
Charlie,18,Male
Diana,30,Female
Eva,35,Female
Frank,40,Male
“`### データの読み込み
まずは、上記のデータを読み込んでみましょう。
以下のように、`read_csv()`メソッドを使用します。
引数には、読み込むファイルのパスを指定します。
“`python
import pandas as pddf = pd.read_csv(‘sample_data.csv’)
print(df)
“`出力結果:
“`
Name Age Gender
0 Amy 22 Female
1 Bob 25 Male
2 Charlie 18 Male
3 Diana 30 Female
4 Eva 35 Female
5 Frank 40 Male
“`上記のコードでは、`pandas`モジュールをインポートして`pd`という別名を付けました。
次に、`read_csv()`メソッドを使って「sample_data.csv」というファイルを読み込んでいます。
最後に、`df`変数に読み込んだデータを代入して、`print()`関数でデータを出力しています。
### データのフィルタリング
続いて、データのフィルタリングを行ってみましょう。
例えば、「Gender」列において、「Female」という値を持つ行のみを抽出したい場合は、以下のようにします。
“`python
female_df = df[df[‘Gender’] == ‘Female’]
print(female_df)
“`出力結果:
“`
Name Age Gender
0 Amy 22 Female
3 Diana 30 Female
4 Eva 35 Female
“`上記のコードでは、一行目で`df`に対して条件式`df[‘Gender’] == ‘Female’`を適用しています。
これにより、「Gender」列の値が「Female」に等しい行であるTrue/Falseが返され、Trueの行だけが`female_df`に抽出されています。
最後に、`print()`関数でデータを出力しています。
### データの変換
次に、データの変換を行ってみましょう。
例えば、「Age」列に1を加算した結果を新しい列として追加したい場合は、以下のようにします。
“`python
df[‘Age_plus_one’] = df[‘Age’] + 1
print(df)
“`出力結果:
“`
Name Age Gender Age_plus_one
0 Amy 22 Female 23
1 Bob 25 Male 26
2 Charlie 18 Male 19
3 Diana 30 Female 31
4 Eva 35 Female 36
5 Frank 40 Male 41
“`上記のコードでは、一行目で「Age」列に1を加算した結果を`df[‘Age_plus_one’]`という新しい列として追加しています。
最後に、`print()`関数でデータを出力しています。
### データの結合
次に、異なるデータを結合してみましょう。
例えば、以下のような別のデータがあったとします。
“`
Name,Weight
Amy,50
Bob,65
Charlie,55
Diana,70
Eva,60
Frank,75
“`このデータを元のデータと結合して、以下のような形式で出力してみましょう。
“`
Name Age Gender Weight
0 Amy 22 Female 50
1 Bob 25 Male 65
2 Charlie 18 Male 55
3 Diana 30 Female 70
4 Eva 35 Female 60
5 Frank 40 Male 75
“`以下のように、`merge()`メソッドを使用します。
“`python
weight_df = pd.read_csv(‘sample_weight.csv’)
merged_df = pd.merge(df, weight_df, on=’Name’)
print(merged_df)
“`出力結果:
“`
Name Age Gender Weight
0 Amy 22 Female 50
1 Bob 25 Male 65
2 Charlie 18 Male 55
3 Diana 30 Female 70
4 Eva 35 Female 60
5 Frank 40 Male 75
“`上記のコードでは、最初に「sample_weight.csv」というファイルからデータを読み込んで`weight_df`に代入しています。
その後、`pd.merge()`メソッドを使用して、`df`と`weight_df`を「Name」列をキーにして結合しています。
最後に、`print()`関数でデータを出力しています。
### データの集計
最後に、データの集計を行ってみましょう。
例えば、「Gender」列ごとの「Age」列の平均値を計算してみます。
“`python
mean_by_gender = df.groupby(‘Gender’)[‘Age’].mean()
print(mean_by_gender)
“`出力結果:
“`
Gender
Female 29.000000
Male 27.666667
Name: Age, dtype: float64
“`上記のコードでは、`groupby()`メソッドを使用して、「Gender」列でグループ化し、「Age」列の平均値を計算しています。
最後に、`print()`関数でデータを出力しています。
以上がPandasの基本操作についての説明です。
他にも、Pandasには多くの機能があり、データのソートや欠損値の処理、統計量の計算、グラフの描画なども行うことができます。
詳しくは、公式ドキュメントを参照してください。
コメント