【Pythonコラム】Pythonのデータ分析を強力にサポート!Pandas入門




Pythonのデータ分析を強力にサポート!Pandas入門

Pythonでデータ分析を行う上で、欠かせないライブラリの一つが Pandas です。表形式のデータを扱うことに特化しており、データの読み込み、整理、加工、分析、そして可視化まで、データ分析の一連のワークフローを効率的にこなすことができます。

Pandasとは?

Pandasは、NumPyをベースに構築されたライブラリで、以下のような特徴を持っています。

  • 表形式データの操作に最適: ExcelやCSVのような表形式データを効率的に扱えます。
  • データ構造が強力: SeriesDataFrameという2つの主要なデータ構造を提供します。
  • 欠損値の処理が容易: 欠損値(NaN)を柔軟に扱う機能が充実しています。
  • データの結合・集約が簡単: 複数のデータを結合したり、特定の条件で集計したりする操作が容易に行えます。
  • 柔軟なデータ操作: データの抽出、並び替え、フィルタリングなど、様々な操作を直感的に記述できます。

Pandasの主要なデータ構造: SeriesとDataFrame

Pandasの中心となるデータ構造は、SeriesDataFrameです。

  • Series: 1次元のラベル付き配列です。NumPyのndarrayと似ていますが、各要素にラベル(インデックス)を付けることができます。
  • DataFrame: 2次元のラベル付きテーブルです。複数のSeriesが列として結合されたもので、ExcelのシートやSQLのテーブルのようなイメージです。

Pandasを使ってみよう!

まずはPandasをインストールしましょう。

pip install pandas

次に、PythonスクリプトでPandasをインポートします。

import pandas as pd

DataFrameの作成

辞書を使ってDataFrameを作成する例を見てみましょう。

data = {
    '名前': ['Alice', 'Bob', 'Charlie'],
    '年齢': [25, 30, 28],
    '職業': ['エンジニア', 'データサイエンティスト', 'マーケター']
}

df = pd.DataFrame(data)
print(df)

このコードを実行すると、以下のようなDataFrameが表示されます。

      名前  年齢        職業
0   Alice  25    エンジニア
1     Bob  30  データサイエンティスト
2  Charlie  28       マーケター

CSVファイルの読み込み

CSVファイルを読み込むには、read_csv()関数を使用します。

# data.csvというファイルが存在することを前提とします
df = pd.read_csv('data.csv')
print(df)

データの抽出

DataFrameから特定の列を抽出するには、列名を指定します。

ages = df['年齢']
print(ages)

また、特定の条件を満たす行を抽出することもできます。

engineers = df[df['職業'] == 'エンジニア']
print(engineers)

データの集計

groupby()関数を使うと、特定の列を基準にデータを集計できます。

# 職業ごとの平均年齢を算出
average_ages = df.groupby('職業')['年齢'].mean()
print(average_ages)

欠損値の処理

欠損値はNaNで表現されます。欠損値を含む行を削除するにはdropna()関数を使用します。

df_cleaned = df.dropna()
print(df_cleaned)

欠損値を特定の値で埋めるにはfillna()関数を使用します。

# 欠損値を0で埋める
df_filled = df.fillna(0)
print(df_filled)

まとめ

Pandasは、Pythonでデータ分析を行う上で非常に強力なツールです。 SeriesDataFrameという柔軟なデータ構造、欠損値処理、データの結合・集約、そしてデータの抽出など、データ分析に必要な機能が豊富に用意されています。

このコラムでは、Pandasの基本的な使い方を紹介しましたが、Pandasにはまだまだ多くの機能があります。 ぜひ、Pandasのドキュメントやチュートリアルを参考に、より深くPandasを理解し、データ分析スキルを向上させてください。 Pandasを使いこなせるようになれば、データ分析の効率が飛躍的に向上するでしょう。



サンプルコードを見る


< Matplotlib
コラム一覧に戻る
scikit-learn >

レッスン概要

◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
◯高品質なサンプルコード
詳細はこちら
興味がある方はまず質問だけでもどうぞ!