Pandas入門:データフレームの作成から活用まで[Python]

はじめに

Pythonはデータ分析や機械学習の分野で広く使われており、その中でもPandasは非常に重要なライブラリです。Pandasを使うことで、データを効果的に操作し、分析することができます。本記事では、Pandasの基本的な使い方やデータフレームの作成から活用方法までを解説します。

Pandasとは:Pythonでのデータ分析に欠かせないライブラリ

Pandasは、Pythonでデータ分析を行うための強力なライブラリです。データフレームという表形式のデータ構造を提供し、データの操作や分析を容易にします。Pandasの主な特徴は以下のとおりです。

  • 高速なデータ操作:Pandasは高速なデータ操作を可能にするため、大量のデータにもスムーズに対応できます。
  • 多機能なデータ構造:Pandasのデータフレームは、行と列からなる2次元のデータ構造であり、異なるデータ型を含むことができます。
  • 欠損値の扱い:Pandasは欠損値を柔軟に扱うことができ、欠損値のあるデータでも効果的な操作が可能です。
  • データの統合:複数のデータソースを統合して分析する場合でも、Pandasは便利なツールとなります。

データフレームの作成:Pandasの基本となるデータフレームの生成方法

まずはじめに、Pandasでデータフレームを作成する方法を学びましょう。データフレームを作成するには、Pandasライブラリをインポートし、データを与えるだけです。

import pandas as pd
# データフレームの作成
df = pd.DataFrame({
  '名前': ['Alice', 'Bob', 'Charlie'],
  '年齢': [25, 30, 35],
  '都市': ['Tokyo', 'Osaka', 'Nagoya']})
# データフレームの表示
print(df)

上記のコードでは、`pd.DataFrame()`関数を使用してデータフレームを作成しています。引数として辞書型のデータを渡し、キーに列の名前、値に列のデータを指定します。この例では、”名前”、”年齢”、”都市”の3つの列を持つデータフレームを作成しています。

作成したデータフレームを表示するには、`print()`関数を使用します。実行すると、以下のような結果が表示されます。

     名前 年齢   都市
0   Alice  25  Tokyo
1     Bob  30  Osaka
2 Charlie  35 Nagoya

このように、データフレームは表形式で表示され、各列のデータが整然と表示されます。

データフレームの操作:列の追加、削除、名前の変更など

Pandasでは、データフレームの操作が非常に簡単です。例えば、新しい列を追加したり、既存の列を削除したり、列の名前を変更したりすることができます。

以下に、データフレームの操作の例をいくつか紹介します。

列の追加

# 新しい列の追加
df['性別'] = ['Female', 'Male', 'Male']
# データフレームの表示
print(df)

上記のコードでは、新しい列”性別”を追加しています。`df[‘性別’]`という形式で列にアクセスし、値を指定することで新しい列を追加できます。

列の削除

# 列の削除
df = df.drop('都市', axis=1)
# データフレームの表示
print(df)

上記のコードでは、`drop()`関数を使用して列を削除しています。引数として削除したい列の名前と`axis=1`を指定することで、列の削除が行われます。

列の名前の変更

# 列の名前の変更
df = df.rename(columns={'名前': '氏名', '年齢': '年代'})
# データフレームの表示
print(df)

上記のコードでは、`rename()`関数を使用して列の名前を変更しています。引数として変更前の列名と変更後の列名を辞書型で指定し、columnsパラメータに渡します。これにより、指定した列の名前が変更されます。

データフレームのデータ抽出:条件に合うデータの抽出方法

Pandasでは、データフレームから条件に合うデータを抽出することができます。以下に、データ抽出の例を示します。

特定の条件に合う行の抽出

# 年齢が30以上の行を抽出
filtered_df = df[df['年齢'] >= 30]
# データフレームの表示
print(filtered_df)

上記のコードでは、`df[‘年齢’] >= 30`という条件に合う行のみを抽出しています。条件を指定することで、条件に合う行のデータのみを抽出することができます。

データフレームの集計:平均値、中央値、最頻値、百分位数など

Pandasを使うと、データフレームの集計操作も簡単に行うことができます。平均値や中央値、最頻値、百分位数などの統計値を計算する方法を紹介します。

# 平均値の計算
mean_age = df['年齢'].mean()
print("平均年齢:", mean_age)


# 中央値の計算
median_age = df['年齢'].median()
print("中央年齢:", median_age)


# 最頻値の計算
mode_city = df['都市'].mode()[0]
print("最頻都市:", mode_city)


# 百分位数の計算
percentile_75 = df['年齢'].quantile(0.75)
print("75パーセンタイル:", percentile_75)

上記のコードでは、各統計値を計算しています。`mean()`関数を使って平均値、`median()`関数を使って中央値、`mode()`関数を使って最頻値、`quantile()`関数を使って百分位数を計算します。統計値を計算することで、データの特徴や分布を把握することができます。

データフレームとCSV/Excel:データフレームのCSVやExcelとの相互変換方法

Pandasは、データフレームをCSVファイルやExcelファイルと相互に変換する機能も提供しています。以下に、データフレームをCSVファイルとExcelファイルに変換する方法を紹介します。

データフレームをCSVファイルに変換

# データフレームをCSVファイルに変換
df.to_csv('data.csv', index=False)
# 変換したCSVファイルの表示
with open('data.csv', 'r') as file:
    print(file.read())

上記のコードでは、`to_csv()`関数を使用してデータフレームをCSVファイルに変換しています。引数として変換後のファイル名を指定します。`index=False`を指定することで、行番号をCSVファイルに含めないようにします。変換後のCSVファイルは、指定したファイル名で保存されます。

CSVファイルをデータフレームに変換

# CSVファイルをデータフレームに変換
df = pd.read_csv('data.csv')
# データフレームの表示
print(df)

上記のコードでは、`read_csv()`関数を使用してCSVファイルをデータフレームに変換しています。引数として変換するCSVファイルのパスを指定します。変換後のデータフレームは、変数`df`に格納されます。

データフレームをExcelファイルに変換

# データフレームをExcelファイルに変換
df.to_excel('data.xlsx', index=False)


# 変換したExcelファイルの表示
import openpyxl
wb = openpyxl.load_workbook('data.xlsx')
sheet = wb.active
for row in sheet.iter_rows(values_only=True):
    print(row)

上記のコードでは、`to_excel()`関数を使用してデータフレームをExcelファイルに変換しています。引数として変換後のファイル名を指定します。`index=False`を指定することで、行番号をExcelファイルに含めないようにします。変換後のExcelファイルは、指定したファイル名で保存されます。

また、Excelファイルを表示するために`openpyxl`モジュールを使用しています。Excelファイルを読み込み、シートの各行を表示しています。

まとめ

本記事では、Pandasを使ったデータフレームの作成から活用までを解説しました。Pandasは強力なライブラリであり、データの操作や分析を効率的に行うためのツールです。データフレームの作成方法や操作方法、データの抽出や集計方法、そしてCSVやExcelとの相互変換方法について学びました。

Pandasを使うことで、データの取り扱いが容易になります。データフレームを使って、データの整理やフィルタリング、集計などの様々な操作を行うことができます。また、CSVファイルやExcelファイルとの相互変換も簡単に行えます。これらの機能を使いこなすことで、Pythonを使ったデータ分析や処理を効率的に行うことができます。Pandasはデータサイエンスや機械学習の分野で広く使われており、データの前処理や特徴エンジニアリングなどに欠かせないツールです。

本記事で紹介した内容を実際に試してみて、Pandasの便利さを体感してみてください。Pandasの使い方をマスターすることで、より高度なデータ分析や処理が可能となります。