1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

3分で理解するPandasデータフレームの概略

Posted at

データフレームを一言で説明すると?

データフレーム(DataFrame)とは、Pythonで表形式データを扱うためのクラス(オブジェクト)です。

PandasライブラリのDataFrameクラス(オブジェクト)を指します。

データフレームの全体像 (4).png

データフレームを扱う利点

データフレームを利用することで、SQLと似た感覚で表形式データを処理できます。

データフレームを理解するために必要な3つの前提知識

① NumPy
② Pandas
③ 表形式データ

① NumPy

データフレームの全体像_numpy.png

NumPy(ナムパイ)は、Python で数値計算を効率的に行うためのライブラリです。
NumPyを理解する上で最も重要な概念の一つが、ベクトル化です。

ベクトル化とは、ループ処理を使わずに、配列全体に対して一括で演算を行う仕組みのことです。

通常のループ処理
data = [1, 2, 3, 4, 5]
result = []
for x in data:
    result.append(x * 2)

NumPyでは、このようなループ処理をベクトル化により、次のように簡潔に書けます。

NumPy(ベクトル化)の場合
import numpy as np
data = np.array([1, 2, 3, 4, 5])
result = data * 2  # 全要素を一括で2倍

✅ ベクトル化のメリット

1. 処理の高速化

NumPyの演算処理は C言語で最適化されており、Pythonのfor文よりも圧倒的に高速です。
特に大量データの処理で効果を発揮します。

2. コードの簡潔化と可読性向上

ループ処理を使わずに、数学の式のように配列演算を記述できるため、コードが短くなり、直感的で読みやすくなります。

② Pandas

データフレームの全体像_pandas.png
Pandas(パンダス)とは、データ解析を簡単に行うための機能を提供する、Pythonのデータ解析ライブラリです。

内部的には、先ほど紹介したNumPyを利用して処理を行っています。

「データフレーム(DataFrame)」は、このPandasライブラリに含まれる代表的なクラスのひとつです。

③ 表形式データ

データフレームの全体像_table.png
表形式データとは、行と列から構成されるデータのことです。

ID 氏名 年齢 都市
1 佐藤 太郎 25 東京
2 鈴木 花子 30 大阪
3 高橋 次郎 28 名古屋

上記のように、1行が1件のデータ、1列が属性(項目)を表す構造になっています。
ExcelやCSVファイル、データベースのテーブルなどがこれにあたります。

✅ 表形式データの特徴

  • 構造が明確で、人にもコンピュータにも扱いやすい
  • 行単位で「データのまとまり」、列単位で「データの属性」を表現する
  • CSV・Excel・SQLなど、多くの形式で活用されている標準的なデータ構造

PandasのDataFrameは、この「表形式データ」を効率よく扱うために設計されています。

データフレームの代表的な機能まとめ

Pandasのデータフレーム(DataFrame)は、表形式データをPythonで柔軟かつ効率的に扱うための強力なクラスです。以下では、日常的なデータ処理でよく使われる代表的な機能を5つに分類して紹介します。

機能カテゴリ 説明
① 読み込み・書き出し 外部データとのやり取り
② 選択・抽出 必要なデータを取り出す
③ 集計・統計・グループ化 データの傾向やグループ分析
④ 欠損値処理 データの品質管理・前処理
⑤ 整形・結合・並べ替え 分析しやすい形にデータを加工する

① データの読み込み・書き出し

外部ファイル(CSVやExcelなど)からデータを読み込んだり、保存したりできます。

import pandas as pd

# CSVファイルの読み込み
df = pd.read_csv("data.csv")

# Excelファイルへの書き出し
df.to_excel("output.xlsx", index=False)

② データの選択・抽出

列の選択、行の指定、条件による抽出が可能です。

# 列の選択
df['売上']

# 行の選択
df.iloc[0]

# 売り上げの値が1000を超える行を抽出する
df[df['売上'] > 1000]

③ 集計・統計・グループ化

平均や合計などの統計量の取得や、グループ単位での集計が可能です。

# 列「売り上げ」の平均値
df['売上'].mean()

# 支店ごとの売上合計
df.groupby('支店')['売上'].sum()

④ 欠損値(NaN)の処理

欠損データの確認・補完・削除ができます。

# 欠損値の確認
df.isnull().sum()

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

# 欠損値を含む行を削除
df.dropna()

⑤ データの整形・結合・並べ替え

列の追加・削除、ソート、データの結合や転置などができます。

# 列の追加
df['利益'] = df['売上'] - df['コスト']

# 並べ替え(降順)
df.sort_values(by='売上', ascending=False)

# データの結合(縦方向)
df_all = pd.concat([df1, df2])

# データの結合(横方向)
df_all = pd.merge(df1, df2, on='ID', how='inner')

# 転置(行と列を入れ替える)
df.T

まとめ

Pandasのデータフレームは、「読みやすい」「速い」「柔軟」なデータ操作を可能にする、Pythonにおけるデータ分析の中心的ツールです。基本機能を理解することで、より実践的な分析や可視化へとスムーズに進むことができます。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?