「Pandas」のコラム

トップページ>「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を使いこなせるようになれば、データ分析の効率が飛躍的に向上するでしょう。





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




< Matplotlib
scikit-learn >







コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図
Anaconda
Google Colaboratory
PyTorch
NLTK
音声処理
yt-dlp
組み込み開発
データベース操作
iclawler
PyCaret
pickle
plotly
polars
Mecab
乱数
PyInstaller
MySQL
Pip
sys.argv
データ型
secrets
MediaPipe
YOLO
ソート