質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3011閲覧

Pandasのpivot_tableで日毎にデータを集計したい

giro1975

総合スコア37

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/01/12 15:37

編集2020/01/12 15:58

環境 jupyter notebook

やりたいこと
PandasでPayPayの売上データを日毎に集計したいです。
エクセルのピポットテーブルでやっていることを、jupyter notebookでpandasをimportして実行したいです。

添付はエクセルのピポットテーブルの使用例です。PayPayから取り出したデータをエクセルのピポットテーブルで日毎に集計しています。

import pandas as pd df = pd.read_csv('./nodaPayPay.csv',encoding='cp932',header=0) df.head() pd.pivot_table(df,columns="取引日時")

4行目のpivot_tableの引数をどのようにするとエクセルのように日毎に件数と合計金額を集計できるか教えてください。

よろしくお願いします。

資料)
※画像を添付したいのですが、うまくいかないのでgoogle driveにアップしました。

PayPayから取り出したcsvデータ

エクセルでpivot_tableを日毎に集計した画面

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず、CSVからDataFrameを作成する際に、取引日時列をDatetime型で読み込んでください。
そのうえで、DataFrame.groupby(df['取引日時'].dt.date) で日付毎のグループ化ができますので、あとは Groupby.agg()などでデータを集計するとよいかと思います。

Python

1import pandas as pd 2 3df = pd.read_csv('./nodaPayPay.csv', header=0, parse_dates=['取引日時']) 4 5ret = df.groupby(df['取引日時'].dt.date).agg({'取引日時':'count','取引金額':'sum'}) 6print(ret) 7# 取引日時 取引金額 8#取引日時 9#2019-12-14 2 24361 10#2019-12-15 2 16900 11#2019-12-16 2 14754 12#2019-12-17 1 1595 13#2019-12-18 1 4125 14#2019-12-19 1 3190 15#2019-12-21 1 11013 16#2019-12-22 1 3780 17#2019-12-23 2 5951 18#2019-12-24 3 43208 19#2019-12-25 1 8204 20#2019-12-28 1 3190 21#2019-12-29 2 9361

CSVをダウンロードした段階で、データはUTF8になっておりましたので、encoding='cp932' は省かせていただきました。

投稿2020/01/13 01:23

編集2020/01/13 01:29
magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

giro1975

2020/01/13 05:33

ありがとうございます。非常に勉強になりました。また機会がありましたらよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問