4
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 1 year has passed since last update.

Python Pandas基礎⑥ -データ集計(pivot_table)-

Posted at

初めに

PythonのPandasについて初学者なりにまとめたいと思います。
学習に使っているのはこちらのキノコードです。

JupyterLabを使用します。

使用するExcelファイル

こちらをリンク先を保存してローカルに落として利用しています。

データ集計

前準備

jupyterlabを起動し、エクセルファイルをカレントディレクトリに格納。Pandasをimportし、表示数を変更します。
その後、read_excelで読み込みます。
image.png

pivot_tableの基本

pivot_tableメソッドにindex,columns,values, aggfuncを渡します。
この時、columnsを渡さなかった場合はgroupbyと同じような挙動になります。
aggfuncに何も渡さなかった場合、デフォルトではmean(平均)が算出されます。

氏名ごとに商品分類ごとの売上金額の合計を算出

aggfuncに'sum'を渡します。
image.png

特定の列で並び替え

pivot_tableに対してsort_valuesを使用します。
降順で指定する場合はascending=Falseを指定します。
image.png

氏名ごとに商品分類ごとの売上金額の平均を算出

aggfuncに'mean'を渡します。ただ、デフォルトで'mean'になっているので、明示的に指定しても、省略してもOKです。今回、小数点以下の切り捨てと区切り文字の指定も同時に行います。
image.png

氏名ごとに商品分類の単価、数量、売上金額の平均を算出

集計するデータが複数ある場合には、リストで指定します。
image.png
複数インデックスの場合も同じくリストで渡す。
image.png

欠損値の処理

fill_value=0を指定することでNanを0として扱う
image.png
文字列を指定することも可能
image.png

集計行列の追加

margins=Trueを引数に追加します。
image.png

複数の集計

合計、平均、個数などを同時に集計することもできます。
aggfuncに集計方法のメソッドをリストで渡します。
image.png

自作関数での集計

消費税10%を加算する場合
関数を定義し、aggfuncに関数を渡すことで自作関数で集計できる
image.png
image.png

文字列の集計

pivot_tableではなく、pivotメソッドを使えば文字列の集計ができる
image.png

終わり

ピボットテーブルはエクセルでお世話になっているのでPythonでも似たような集計ができるのはありがたいです。

4
1
1

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
4
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?