pandasで始めるデータ分析

データサイエンス

はじめに

データサイエンスの世界に足を踏み入れると、最初に出会うライブラリのひとつが「pandas」です。
Pythonでデータを扱うなら、pandasはまさに必須ツール。
本記事では、pandasの基本から実践的な使い方までをわかりやすく紹介します。

pandasとは?

pandasは、Pythonで表形式のデータを扱うためのライブラリです。
主に以下の2つのデータ構造を提供します。

  • Series:1次元の配列データ
  • DataFrame:2次元の表形式データ(行と列)

ExcelやCSVファイルのようなデータをPythonで自在に操作できるようになります。

pandasの基本操作

データの読み込みと表示

import pandas as pd
# サンプルデータを作成
data = {
    'Month': ['Jan', 'Feb', 'Mar', 'Apr'],
    'Sales': [250, 300, 400, 350],
    'Expenses': [200, 220, 260, 300]
}
df = pd.DataFrame(data)
df
出力:
  Month  Sales  Expenses
0   Jan    250       200
1   Feb    300       220
2   Mar    400       260
3   Apr    350       300

データ構造の確認

df.info()
出力:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
 #   Column    Non-Null Count  Dtype 
---  ------    --------------  ----- 
 0   Month     4 non-null      object
 1   Sales     4 non-null      int64 
 2   Expenses  4 non-null      int64 
dtypes: int64(2), object(1)
memory usage: 224.0 bytes
解説:
  • 行数:4行(インデックスは0〜3)
  • 列数:3列(Month, Sales, Expenses)
  • データ型
    • Month は文字列(object)
    • SalesExpenses は整数(int64)
  • 欠損値の有無:すべての列に欠損値なし(non-null count = 4)
  • メモリ使用量:224バイト

基本統計量の確認

df.describe()
出力:
           Sales   Expenses
count    4.00000   4.000000
mean   325.00000  245.000000
std     64.54972   45.825756
min    250.00000  200.000000
25%    287.50000  215.000000
50%    325.00000  240.000000
75%    362.50000  270.000000
max    400.00000  300.000000
解説:
  • count: データの件数(4件)
  • mean: 平均値
  • std: 標準偏差(データのばらつき)
  • – min / max: 最小値と最大値
  • 25% / 50% / 75%: 四分位数(中央値やデータの分布を把握するために参照)

データの抽出

df['Sales']                 # 特定の列を抽出
出力:
0    250
1    300
2    400
3    350
Name: Sales, dtype: int64
df.loc[0] # 特定の行を抽出
出力:
Month       Jan
Sales       250
Expenses    200
Name: 0, dtype: object
df[df['Expenses'] > 250] # 条件でフィルタリング
出力:
  Month  Sales  Expenses
2   Mar    400       260
3   Apr    350       300

pandasでできること

pandasは単なるデータの読み書きだけでなく、以下のような高度な操作も可能です:

  • 欠損値の処理(dropna(), fillna()
  • データの集計(groupby(), pivot_table()
  • 時系列データの処理(resample(), rolling()
  • データの結合・統合(merge(), concat()

実践例:売上データの分析

例えば、月別売上データを分析する場合:

monthly_sales = df.groupby('month')['sales'].sum()
monthly_sales.plot(kind='bar')

こういった感じで、pandasはmatplotlibなどの可視化ライブラリとも連携し、グラフ表示も簡単にできます。

まとめ

pandasはデータサイエンスの基礎を築く強力なツールです。
使いこなせばデータ分析の最初のステップである「前処理」を効率的かつ高速に行うことができます。
まずは小さなプロジェクトでも良いので、自分の興味あるデータで分析してみましょう!

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