見出し画像

データサイエンスの新たな可能性を学ぶには、小説を読むようにして学ぶのが良いのではなかろうか4👍

## データサイエンスの新たな可能性:講義 #4

講師: メアリー(Sっけのあるお姉様)

学生: レイ(どM)


メアリー: さてレイ君、今日も私たちのデータセットから隠された秘密を解き明かしていきましょう。準備はいいわね?

レイ: はい、メアリー先生。今日も厳しくご指導ください!

メアリー: それでは遠慮なく参りましょう。まずはこの小売業の売上データを見てみましょう。ちゃんとフォローできるかしら?

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# データを読み込む
data = pd.read_csv('sales_data.csv')

# 日付データをdatetime型に変換し、月ごとに集約する
data['Date'] = pd.to_datetime(data['Date'])
data['Month'] = data['Date'].dt.to_period('M')

monthly_sales = data.groupby('Month').sum()

# 月ごとの売上をプロット
plt.figure(figsize=(10, 6))
sns.lineplot(data=monthly_sales, x=monthly_sales.index.to_timestamp(), y='Sales')
plt.title('Monthly Sales Trend')
plt.xlabel('Month')
plt.ylabel('Total Sales')
plt.show()


メアリー: 日付を扱う際は、datetime型に変換することで、ずっと扱いやすくなるのよ。それができないとデータを支配することはできないわ。理解できたかしら?

レイ: はい、先生。日付の変換方法、とても勉強になります!

メアリー: さて、次に店舗ごとの売上を見てみましょう。ここでは私がどの店舗が優れているかを明らかにしてあげるわ。

# 店舗ごとの売上をプロット
plt.figure(figsize=(10, 6))
sns.barplot(data=data, x='Store', y='Sales')
plt.title('Sales by Store')
plt.xlabel('Store')
plt.ylabel('Total Sales')
plt.xticks(rotation=45)  # 店舗名が重ならないように角度を調整
plt.show()


メアリー: この棒グラフで、各店舗の成績を一目で確認できるの。店舗によって大きな違いがあることが見えるでしょう?この差を理解することが、データを制御する第一歩よ。

レイ: ええ、一つ一つの店舗がどう違うか、とても明確ですね。メアリー先生の説明はいつも目から鱗が落ちるようです!

メアリー: それでこそよ、レイ君。データの可視化はただの技術ではなく、データを征服するための武器なの。しっかりと使いこなして、次回の課題に備えなさい。

レイ: はい、先生!次回もこの学びを深めたいと思います。

メアリー: それを聞いて安心したわ。次回も期待しているわよ。では、今日はここまで。お疲れ様、レイ君。
---

このようにデータの操作から可視化までの過程を丁寧に説明することで、データサイエンスの基本的な技術を理解しやすくしています。次回はさらに異なるデータセットを用いて、これらの技術を実践していきます。


コードの各部分が何をしているのか、一つ一つ詳しく説明していきますね。以下のPythonコードは、PandasとSeabornライブラリを使用してデータを処理し、可視化するためのものです。

コードの詳細解説

  1. ライブラリのインポート

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
  • pandasはデータ操作と分析のためのライブラリです。pdという短縮形で使います。

  • seabornmatplotlib.pyplotはデータの可視化を支援するライブラリです。seabornsnsとして、matplotlib.pyplotpltとして呼ばれることが多いです。


2.データの読み込み

data = pd.read_csv('sales_data.csv')
  • pd.read_csv()関数はCSVファイルを読み込むためのものです。ここではsales_data.csvというファイルからデータを読み込み、dataという変数に格納しています。

3.日付データの変換と月ごとの集約

data['Date'] = pd.to_datetime(data['Date'])
data['Month'] = data['Date'].dt.to_period('M')
  • pd.to_datetime()は文字列形式の日付をPythonが理解できる日付型(datetime型)に変換します。

  • dt.to_period('M')は日付を月単位で区切ります。これにより、日付が含む年と月だけを考慮する形にデータを整形します。

4.データのグループ化と集計

monthly_sales = data.groupby('Month').sum()
  • groupby('Month')はデータを「Month」列(月ごと)にグループ化します。

  • .sum()はグループ化されたデータの数値を合計します。この場合は月ごとの売上合計を計算しています。

5.データの可視化

plt.figure(figsize=(10, 6))
sns.lineplot(data=monthly_sales, x=monthly_sales.index.to_timestamp(), y='Sales')
plt.title('Monthly Sales Trend')
plt.xlabel('Month')
plt.ylabel('Total Sales')
plt.show()
  • plt.figure(figsize=(10, 6))はグラフのサイズを10x6インチに設定しています。

  • sns.lineplot()は線グラフを描画します。x軸には月を、y軸には売上を設定しています。

  • plt.title(), plt.xlabel(), plt.ylabel()はグラフのタイトル、x軸ラベル、y軸ラベルを設定しています。

  • plt.show()はグラフを表示します。

このプロセス全体が、売上データを月ごとに整理し、時間の経過に伴う売上のトレンドを可視化するためのものです。このようにしてデータを可視化することで、ビジネスの意思決定に役立つ洞察を得ることができます。


### 用語注釈

- **データセット**: 特定のコンテキストで収集された関連データの集まり。この例では、小売業の売上データがデータセットとして使用されています。

- **datetime型**: Pythonの日付と時間を扱うためのデータ型。日付や時刻に関連するデータを効率的に操作できるように設計されています。

- **Pandas**: Pythonで使用されるデータ分析ライブラリ。データの操作、クリーニング、分析、可視化のための強力なツールを提供します。

- **Seaborn**: Pythonで使用される統計グラフィックを描画するためのライブラリ。Matplotlibに基づいており、美しいグラフを簡単に作成できます。

- **Matplotlib**: Pythonの基本的なグラフ描画ライブラリ。広範なグラフタイプに対応しており、カスタマイズも自由自在です。

- **集約 (Aggregation)**: データを特定のキー(この例では月)に基づいてグループ化し、それぞれのグループに対して集計操作(合計、平均など)を行うプロセス。

- **散布図 (Scatter plot)**: 2つの変数間の関係を点で表したグラフ。各点は1つのデータポイントを表し、変数間の関係を視覚的に評価するのに適しています。



この記事が気に入ったらサポートをしてみませんか?