Pythonでpandasを使用しクロス集計を行う

Pythonでpandasを使用しクロス集計を行ってみます。

■Python

Google Colaboratory(Google Colab),Python3.7.10

■データセット(CSVファイル)を用意する

Pythonでpandasを使用しクロス集計を行ってみますので、まずはデータセット(CSVファイル)を用意します。

今回はGoogleスプレッドシートで、上記のCSV形式でデータセットを用意しました。ファイルの名前は「test.csv」とします。

■pandasを使用しクロス集計をする

データセットの用意ができましたので、pandasを使用しクロス集計を行ってみます。

■コード

from google.colab import drive

今回は「Googleドライブ」上に「Python」というフォルダを作成し、その中にtest.csvを移動させていますので、Google Colabへのマウントを行うために、上記のコードを記述します。

※注意

GoogleColaboratoryの「ファイル」からCSVファイルを「アップロード」を行った方が良い。”Googleドライブ”上からCSVファイルのアップロードを行うと、「gsheet」という形式のファイルに勝手に変換されてしまう。

■コード

drive.mount('/content/drive')

さらにdriveへのマウントを行うために、上記のコードを記述します。

Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=*****

Enter your authorization code:

記述後、コードを実行すると、上記のメッセージが出力されますので、「Go to this URL in a browser」のリンクをクリックし、Googleドライブの認証作業を行い、完了後、コードが発行されるので、コードをコピーし、「Enter your authorization code:」の入力欄に貼り付けます。その後、Enterキーを押します。押すと、「Mounted at /content/drive」と出力されます。これでマウントは完了となります。

■コード

import pandas as pd

df = pd.read_csv('drive/MyDrive/Python/test.csv')

crosstb = pd.crosstab(df['都道府県'], df['購入品'])

print(crosstb)

マウント完了後、importでpandasモジュールを呼び出し、pd.read_csv()を用いて括弧内に今回用意したCSVファイルが置かれている場所(パス)を渡し、CSVを読み込みます。

その後、pd.crosstab()関数を用いてクロス集計を行うために、括弧内で集計するデータを指定します。今回は都道府県別の購入品の個数を集計する。クロス集計の結果はcrosstb変数に格納されます。

最後にprint()関数で結果を出力します。

■実行・検証

スクリプトを作成後、このスクリプトを実行してみます。

実行してみると、pandasモジュールを用いて、今回用意したデータセット(CSVファイル)を読み込み、データセット内のデータをpd.crosstab()関数を用いてクロス集計し、結果をprint()関数で出力させることができました。

コメント

タイトルとURLをコピーしました