「Pandasを使った効率的なデータ分析・操作方法」

python

要約

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には多くの機能があり、データのソートや欠損値の処理、統計量の計算、グラフの描画なども行うことができます。

詳しくは、公式ドキュメントを参照してください。

コメント

タイトルとURLをコピーしました