0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初心者のためのpandas基礎⑤Pivotテーブル(Excel対比付き)

Posted at

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

#はじめに
本記事では、Pivotテーブルについて記載します。Pivotとは何か等は省略します。基本的にはExcelではここの設定がpandas構文ではこうなりますという記載とします。

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

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

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

import pandas as pd

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

dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total')

ExcelのPivot機能と対比させるとindexが「行」 、columnsが 「列」、valuesが「値」 aggfuncが「フィールドの設定」に相当します。aggfuncは個数に相当するcountを設定しました。
image.png

marginsは「総計」に相当し、margins_nameは、そのラベル名称です。

aggfuncには平均であるmeanmax min等が指定できます。併記したい場合は、['count','mean']として下さい。

#欠損値の取り扱い
注意事項として、集計対象のデータに欠損値が含まれるとExcelでは「(空白)」として扱ってくれますが、pandasでは集計の対象となりません。そのため欠損値処理を実施する必要があります。欠損値処理についてはこちらを参照下さい。
image.png

次に集計結果の欠損値ですが、NaNで表示されます。それを埋めたい場合はfill_valueを指定して下さい。
例として欠損値をゼロで埋めます。

dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total',fill_value=0.0)

image.png

以上です。

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

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?