LoginSignup
2
3

More than 3 years have passed since last update.

初心者のためのpandas基礎⑥Group by

Posted at

pandasとは

Pythonにて、構造化データ(テーブル型のデータ)を扱うためのライブラリです。ファイルの読み込みやその後の加工・抽出処理などを簡単に行うことができ(SQL的な感覚で行うことができ)、機械学習などのデータの前処理で必須となるライブラリです。
他項目への目次はこちらになります。

はじめに

本記事では、Group byテーブルについて記載します。基本的なSQLの知識がある前提での記載になります。

サンプルはタイタニックのデータで試してみます。タイタニックがわからない人は「kaggle タイタニック」で調べて下さい。

dataframe = pd.read_csv('train.csv')

使い方

まずはライブラリをインポートします。pandasにpdという名前をつけてimportします。

import pandas as pd

基本的なサンプル構文を下記に示します。

Sex(性別)とSurvived(生存フラグ)でグループ化し、count()で要素の数をカウントします。

dataframe.groupby(['Sex','Survived']).count()

image.png

対象となる列を絞る場合は、下記のように記載します。(例としてAge(年齢)に限定します)

dataframe.groupby(['Sex','Survived'])['Age'].count()

image.png

平均が取りたい場合は、.mean()、行数が取りたい場合は、.size()のようにcount()の部分を置き換えます。describe()では全体感つかむことができます。

dataframe.groupby(['Sex','Survived']).describe()

image.png

抽出

SQLのGroup byのイメージとは異なるのですが、データ抽出にも使えます。
Sex(性別)がmaleのデータを抽出します。

dataframe.groupby(['Sex']).get_group("male") 

image.png

以上です。グループ化についてはもっといろいろな機能があるのですが、あまり使わないのでここまでに留めます。他にもやりたい事がある方は、ご自身での調査をお願いします。

最後に

初心者にもわかるように、Pythonで機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。

2
3
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
2
3