Pythonの「Pandas」は、データサイエンティストや分析者、データを扱うすべての人にとって重宝するデータ分析ライブラリです。
Pandasを使えば、大量のデータを効率的に処理し、洞察を引き出すことができ、プログラミング初心者からエキスパートまで、幅広い層から支持されています。
本記事では、Pandasの概要から、その主な機能、基本的な使い方、よく使われるメソッド一覧まで、Pandasを使いこなすために知っておくべき情報を網羅的に解説します。
さらに、Pandasをマスターするための学習リソースもご紹介。データ分析のスキルアップを目指す方は、ぜひ本記事を参考にしてください。
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
アプリ・システム開発は生成AIを活用することで、従来の開発ではあり得なかった、低コスト・高品質開発・スピード開発が同時に実現できます。
▼従来の開発とAIを使った開発の違い
システムソリューションを得意とし、新規事業からDX推進まで幅広いジャンルの開発実績があります。
アプリ・システム開発は生成AIを活用することで、従来の開発ではあり得なかった、低コスト・高品質開発・スピード開発が同時に実現できます。
▼従来の開発とAIを使った開発の違い
システムソリューションを得意とし、新規事業からDX推進まで幅広いジャンルの開発実績があります。
Pythonライブラリ「Pandas」とは
Pandas は、2008年にWes McKinney氏によって開発されたPythonのデータ分析ライブラリです。当初は金融データ分析のために作られましたが、現在ではデータサイエンスや機械学習など幅広い分野で使用されています。
Pandasの名前は、”Panel Data“(パネルデータ:経済学や計量経済学で使用される多次元のデータセット)に由来しています。ただし、発音は「パンダ」ではなく、”PANel DAta”の略であることから「パン・ダス」と読まれることが一般的です。
Pandasは、NumPyをベースに構築されており、高速で効率的なデータ処理を可能にしています。また、データの読み込み、クリーニング、変換、結合、集計、時系列処理など、データ分析に必要な機能を幅広く提供しています。
Pythonでデータ分析を行う際には、Pandasは欠かせないツールの1つであり、データサイエンティストや分析者にとって重要なスキルの1つとなっています。
Python Pandasの主な機能・できること
Pandasは、Pythonのデータ分析ライブラリとして広く利用されており、データの読み込み、クリーニング、整形、分析、可視化など、データ分析のワークフローに必要な多彩な機能を提供しています。
直感的で使いやすいAPIを備えており、少ないコード量で効率的にデータ処理を行うことができます。
ここでは、Pandasの主要な機能について、具体的なコード例を交えながら詳しく解説していきます。
データの読み込み・書き込み
Pandasを使えば、CSVやExcelファイルなどのデータを簡単に読み込むことができます。
read_csv()やread_excel()関数を使って、ファイルからデータをDataFrameとして読み込み、to_csv()やto_excel()関数でデータを別のファイルに書き出すことができます。
(Pythonのサンプルコード)
import pandas as pd
# CSVファイルの読み込み
df = pd.read_csv(‘data.csv’)
# Excelファイルへの書き込み
df.to_excel(‘output.xlsx’, index=False)
データのクリーニング
Pandasには欠損値の処理や重複データの削除など、データのクリーニングに役立つ機能が多数あります。
isnull()やnotnull()関数で欠損値を検出し、fillna()関数で欠損値を補完できます。duplicated()関数で重複データを見つけ、drop_duplicates()関数で重複を削除できます。
(Pythonのサンプルコード)
# 欠損値の補完
df.fillna(0, inplace=True)
# 重複データの削除
df.drop_duplicates(subset=[‘Name’, ‘Age’], inplace=True)
データの整形
PandasではDataFrameの構造を柔軟に変更できます。列の選択、フィルタリング、ソートなどが可能です。
melt()やpivot()関数を使ってデータを縦型と横型に変換したり、groupby()関数でグループ化集計したりできます。
(Pythonのサンプルコード)
# 列の選択とフィルタリング
new_df = df[[‘Name’, ‘Age’]][df[‘Age’] > 30]
# データの縦型から横型への変換
pivoted_df = df.pivot(index=’Name’, columns=’Subject’, values=’Score’)
データ分析
Pandasを使えば、データの基本統計量を簡単に計算できます。
describe()関数で要約統計量を取得したり、corr()関数で相関係数を計算したりできます。また、apply()やlambda式を使って独自の計算処理を行うこともできます。
(Pythonのサンプルコード)
# 基本統計量の計算
stats = df.describe()
# 相関係数の計算
correlation = df.corr()
ヒストグラムとデータ可視化
Pandasは、データ可視化のためのヒストグラムやグラフ作成機能も提供しています。
hist()関数でヒストグラムを描画したり、plot()関数で折れ線グラフや散布図を作成したりできます。Matplotlibと連携することで、さらに高度なデータ可視化が可能です。
(Pythonのサンプルコード)
# ヒストグラムの描画
df[‘Age’].hist(bins=10)
# 折れ線グラフの作成
df.plot(x=’Date’, y=’Price’, kind=’line’)
Python Pandasの基本的な使い方
Pandasを使ったデータ分析を始めるには、まずデータの読み込みと前処理が必要不可欠です。また、データの操作と分析方法を理解することで、Pandasの機能を最大限に活用することができます。
ここでは、Pandasの基本的な使い方として、データの読み込みと前処理の手順、およびデータの操作と分析方法についてサンプルコードを交えながら解説します。
データの読み込みと前処理
Pandasを使ってデータを読み込み、前処理を行う基本的なステップを以下に説明します。データの内容に応じて、必要な処理を適宜組み合わせていきましょう。
1.データの読み込み
CSVファイルやExcelファイルをデータフレームとして読み込むことができます。
(Pythonのサンプルコード)
import pandas as pd
# CSVファイルの読み込み
df = pd.read_csv(‘data.csv’)
# Excelファイルの読み込み
df = pd.read_excel(‘data.xlsx’, sheet_name=’Sheet1′)
`read_csv`関数でCSVファイルを、`read_excel`関数でExcelファイルを読み込みます。Excelファイルの場合は、`sheet_name`引数で読み込むシートを指定します。
2.欠損値の確認と処理
データフレーム内の欠損値を確認し、適切な方法で処理します。
(Pythonのサンプルコード)
# 欠損値の確認
print(df.isnull().sum())
# 欠損値の補完(平均値で補完する例)
df.fillna(df.mean(), inplace=True)
`isnull`メソッドと`sum`メソッドを組み合わせることで、各列の欠損値の数を確認できます。欠損値がある場合は、`fillna`メソッドを使って補完することができます。例では、各列の平均値で欠損値を補完しています。`inplace=True`を指定することで、元のデータフレームを更新します。
3.型変換
データフレームの特定の列のデータ型を変換します。
(Pythonのサンプルコード)
df[‘column_name’] = df[‘column_name’].astype(int)
`astype`メソッドを使用して、特定の列のデータ型を変換します。例では、`’column_name’`列をint型に変換しています。
4.不要な列の削除
データフレームから不要な列を削除します。
(Pythonのサンプルコード)
df.drop([‘column1’, ‘column2’], axis=1, inplace=True)
`drop`メソッドを使用して、不要な列を削除します。削除する列名をリストで指定し、`axis=1`で列を指定します。`inplace=True`を指定することで、元のデータフレームを更新します。
5.新しい列の追加
既存の列を組み合わせて新しい列を作成するには、新しい列名を指定し、既存の列を組み合わせた式を代入します。
(Pythonのサンプルコード)
df[‘new_column’] = df[‘column1’] + df[‘column2’]
`’column1’`と`’column2’`の和を`’new_column’`として追加しています。
データの操作と分析方法
Pandasを使ったデータ操作の基本から、簡単な分析方法までを説明します。これらの機能を使って、データの選択、絞り込み、ソート、集計、結合、統計量の計算、相関分析、可視化などを行うことができます。
1. データの選択と絞り込み
Pandasを使って、データフレームから必要な列や条件に合う行を選択し、データを絞り込むことができます。
(Pythonのサンプルコード)
# 列の選択
selected_columns = df[[‘column1’, ‘column2’]]
# 行の選択(条件に基づく絞り込み)
filtered_rows = df[df[‘column1’] > 0]
列の選択では、必要な列名をリストで指定することで、特定の列だけを取り出すことができます。行の選択では、条件式を使って、条件に合う行のみを抽出することができます。
2. データのソートと並べ替え
データフレームの行を特定の列の値に基づいてソート(並べ替え)することができます。
(Pythonのサンプルコード)
# 特定の列で昇順にソート
sorted_data = df.sort_values(‘column1’)
# 複数の列で降順にソート
sorted_data = df.sort_values([‘column1’, ‘column2’], ascending=[False, False])
`sort_values`メソッドを使って、指定した列の値に基づいて行をソートできます。`ascending`パラメータを使って、昇順(`True`)または降順(`False`)を指定できます。
3. データのグループ化と集計
データフレームを特定の列の値に基づいてグループ化し、各グループに対して集計操作を行うことができます。
(Pythonのサンプルコード)
# 特定の列でグループ化し、各グループの平均値を計算
grouped_data = df.groupby(‘column1’).mean()
# 特定の列でグループ化し、各グループの合計値を計算
grouped_data = df.groupby(‘column1’).sum()
`groupby`メソッドを使って、指定した列の値に基づいてグループ化し、`mean`や`sum`などの集計メソッドを適用することで、各グループの統計量を計算できます。
4. データの結合と連結
複数のデータフレームを結合したり、連結したりすることができます。
(Pythonのサンプルコード)
# 2つのデータフレームを列方向に結合
merged_data = pd.merge(df1, df2, on=’common_column’)
# 2つのデータフレームを行方向に連結
concatenated_data = pd.concat([df1, df2])
`merge`関数を使って、共通の列を基準に2つのデータフレームを結合できます。`concat`関数を使って、複数のデータフレームを行方向に連結できます。
5. 基本的な統計量の計算
データフレームの各列に対して、基本的な統計量を計算することができます。
(Pythonのサンプルコード)
# 各列の平均値を計算
mean_values = df.mean()
# 各列の中央値を計算
median_values = df.median()
# 各列の最大値と最小値を計算
max_values = df.max()
min_values = df.min()
`mean`、`median`、`max`、`min`などのメソッドを使って、各列の平均値、中央値、最大値、最小値などの基本的な統計量を計算できます。
6. 相関関係の分析
データフレームの列間の相関関係を分析することができます。
(Pythonのサンプルコード)
correlation_matrix = df.corr()
`corr`メソッドを使って、データフレームの各列間の相関係数を計算し、相関行列を取得できます。相関係数は-1から1の間の値をとり、1に近いほど強い正の相関、-1に近いほど強い負の相関があることを示します。
7. データの可視化
Pandasを使って、データをグラフで可視化することができます。
(Pythonのサンプルコード)
# ヒストグラムの作成
df[‘column1′].plot(kind=’hist’)
# 散布図の作成
df.plot(x=’column1′, y=’column2′, kind=’scatter’)
`plot`メソッドを使って、各種グラフを作成できます。`kind`パラメータを使って、グラフの種類(ヒストグラム、散布図など)を指定します。Pandasの可視化機能は、Matplotlibライブラリを内部で使用しています。
Python Pandasのメソッド一覧
Python Pandasには、データ分析に必要な多様な操作を行うための豊富なメソッドが用意されています。ここでは、データフレームの操作、データ処理、データ分析、データ可視化の4つのカテゴリに分けて、Pandasで使用できる主なメソッドを一覧で紹介します。
それぞれのメソッドの機能を理解することで、Pandasを使ったデータ分析の幅が広がるでしょう。
データフレーム操作
データフレームの表示、概要情報の確認、基本統計量の計算、ソート、列の削除・名前変更など、データフレームの基本的な操作を行うメソッドがまとめられています。データの前処理や整形に役立ちます。
メソッド | 説明 |
head()、tail() | データの先頭部分と末尾部分を表示 |
info() | データフレームの概要情報を表示 |
describe() | データの基本統計量を一括で計算 |
shape | データフレームの行数と列数を返す |
columns | データフレームの列名を返す |
index | データフレームの行番号を返す |
sort_values() | データをソート |
drop() | 指定した列や行を削除 |
rename() | 列名を変更 |
reset_index() | 行番号をリセット |
set_index() | 指定した列を行番号に設定 |
データ処理
欠損値の処理、データ型の変換、関数の適用、データの結合・変換など、データの加工や整形に関するメソッドがまとめられています。データを分析しやすい形に整えるために使用します。
メソッド | 説明 |
isnull()、notnull() | 欠損値の判定 |
fillna() | 欠損値を特定の値で埋める |
dropna() | 欠損値を含む行や列を削除 |
replace() | 特定の値を別の値に置換 |
astype() | データ型を変換 |
apply() | データに関数を適用 |
map() | データを別の値にマッピング |
merge() | 複数のDataFrameを結合(横方向) |
concat() | 複数のDataFrameを結合(縦方向) |
groupby() | データをグループ化 |
pivot() | データを縦持ち・横持ちに変換 |
melt() | 横持ちのデータを縦持ちに変換 |
データ分析
データの選択、絞り込み、集計、統計量の計算、時系列データの処理など、データの分析に直接関わるメソッドがまとめられています。これらのメソッドを駆使することで、データから有益な情報を引き出すことができます。
メソッド | 説明 |
loc[]、iloc[] | データの選択と絞り込み |
isin() | 指定した値を含むデータを選択 |
query() | 条件式を指定してデータを絞り込み |
sum()、mean()、median()、min()、max()、count() | データの集計と統計 |
corr() | 相関係数の計算 |
cov() | 共分散の計算 |
diff() | 差分の計算 |
pct_change() | パーセント変化率の計算 |
rank() | 順位の計算 |
resample() | 時系列データのリサンプリング |
rolling() | ローリング計算(移動窓計算) |
expanding() | 累積計算 |
データ可視化
データをグラフで視覚化するためのメソッドがまとめられています。折れ線グラフ、散布図、ヒストグラム、箱ひげ図など、様々なグラフを作成できます。データの傾向や特徴を視覚的に捉えるのに役立ちます。
メソッド | 説明 |
plot() | 各種グラフの作成(折れ線グラフ、散布図、ヒストグラムなど) |
hist() | ヒストグラムの作成 |
boxplot() | 箱ひげ図の作成 |
scatter() | 散布図の作成 |
bar()、barh() | 棒グラフの作成 |
pie() | グラフの作成 |
heatmap() | ヒートマップの作成 |
Python Pandasを活用するための学習リソース
Pandasは、Pythonでデータ分析を行うための強力なライブラリです。しかし、その機能の多さから、初心者にはどこから学んでいけば良いのか迷ってしまうこともあるでしょう。
そこで、Pandasを効果的に学ぶための学習リソースを厳選して紹介します。公式ドキュメントから体系的な書籍まで、自分のレベルに合ったリソースを選んでみてください。
これらを活用することで、Pandasを使いこなし、データ分析のスキルを着実に身につけることができるはずです。
Pandas公式ドキュメント
Pandas公式ドキュメントは、Pandasの使い方を網羅的に解説した信頼できる情報源です。Pandasのインストール、データの読み込み、フィルタリング、集計、結合など、データ分析に必要な操作を詳しく説明し、各関数の引数や戻り値、使用例も記載されています。
初心者には少し難しく感じるかもしれませんが、Pandasを本格的に使いこなすためには必須の情報源です。ユーザーガイド、APIリファレンス、チュートリアル、How-toガイドが充実しており、実際のデータ分析ですぐに使える知識を効率的に身につけられます。
Pandasを学ぶ際は、まず公式ドキュメントを参照する習慣をつけることをおすすめします。
『Pythonデータ分析/機械学習のための基本コーディング! pandasライブラリ活用入門 (impress top gear)』
本書は、データ分析と機械学習の基礎を学ぶ入門書です。pandas、matplotlib、seaborn、numpy、statsmodels、sklearnなどのライブラリを使い、データの取り込み、整備、集約から、可視化、モデル化、正規化、高速化までの一連の基本作法を学べます。
第1部から第5部にかけて、DataFrameの基礎、データ操作によるクリーニング、データの準備、モデルの適合、さらなる学びのための情報源などを解説。付録では、Python環境のインストールや文法も確認できます。データ分析と機械学習の基礎を体系的に学びたい初心者におすすめの一冊です。
『Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理』
本書は、データ分析におけるPythonの活用方法を網羅的に解説した書籍です。著者のWes McKinney氏は、Pythonの代表的なデータ分析ライブラリであるpandasの開発者として知られています。
本書では、NumPy、SciPy、pandas、Matplotlib、Jupyterなど、Pythonのデータ分析に欠かせないライブラリの使い方を丁寧に説明しています。これらのライブラリを駆使することで、科学計算、統計解析、機械学習といった分野だけでなく、金融や経済分野でのデータ分析にもPythonを活用できるようになります。
まとめ:Python Pandaでデータ分析を効率化
Pythonのデータ分析ライブラリ Pandas(パンダス)は、データ処理や分析において非常に強力なツールです。大量のデータを効率的に扱い、読み込みや書き込み、クリーニング、整形、分析、可視化など、データ分析に必要な一連の作業を簡単に行えます。
本記事では、Pandasの概要から主な機能、基本的な使い方、よく使われるメソッドまで、Pandasを使いこなすために必要な情報を網羅的に解説しました。Pandasを活用し、Pythonの読みやすい文法と組み合わせることで、データ分析のプロセスを効率化し、コードの可読性と再現性も向上します。
データ分析のスキルアップを目指す方も、業務でデータを扱う方も、Pandasの習得で分析のパフォーマンスを飛躍的に向上できるでしょう。本記事の学習リソースを活用し、Pandasをマスターすることで、データ分析の可能性を広げていきましょう。
PythonやPandasに関するご相談やご質問がありましたら、Pythonの活用とAI開発に強い Jitera までお気軽にお問い合わせください。