データサイエンスの新たな可能性を学ぶには、小説を読むようにして学ぶのが良いのではなかろうか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ライブラリを使用してデータを処理し、可視化するためのものです。
コードの詳細解説
ライブラリのインポート
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
pandasはデータ操作と分析のためのライブラリです。pdという短縮形で使います。
seabornとmatplotlib.pyplotはデータの可視化を支援するライブラリです。seabornはsnsとして、matplotlib.pyplotはpltとして呼ばれることが多いです。
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つのデータポイントを表し、変数間の関係を視覚的に評価するのに適しています。
この記事が気に入ったらサポートをしてみませんか?