カテゴリー
キーワード

具体的な指示付き! ChatGPTをデータ分析へ活用する方法──前処理からアイディア出し、グラフ作成まで初心者向けに解説

「データ分析やグラフ作成に時間・手間がかかる……」
「SQLを覚えたいけど、エラーが出るたびに手が止まってしまう」

そんな課題を感じている方にとって、ChatGPTは非常に有用なツールです。自然言語で指示するだけでカバーできる範囲は、SQLの生成、データの前処理、分析のサポート、グラフ作成まで、データ分析のあらゆるパートに渡ります。

本記事では、ChatGPTを活用して、初心者でもすぐに実践できる4つのデータ分析手法を紹介します。

すべて「そのまま使えるプロンプト例」付きなので、ぜひ今日から活用してみてください!

※学習モデルではすべてChatGPT-4oを使用しています。

         

【1】SQLを書かせる──「集計したい」を自然文で伝えるだけ

「このデータベースから月次の売上を集計したいけど、SQLを組み立てるのが手間…」
「JOINやGROUP BYが絡むと、毎回ググりながら書いている……」
そんなときこそ、ChatGPTの出番です。

ChatGPTは、SQLの構文を知らなくても、「やりたいこと」をそのまま自然文で伝えるだけで、目的に合ったSQLクエリを自動生成してくれます。

▼ たとえば、こんなプロンプトを試してみてください

PostgreSQLで、売上テーブルから月ごとの売上合計を出すSQLを書いてください。

カラムは order_date と sales_amount です。日付は TIMESTAMP 型です。

このようにデータの構造と目的を簡潔に伝えるだけで、ChatGPTは次の通り、解説付きでSQL文を記述してくれます。

以下は、order_date(TIMESTAMP型)とsales_amountを持つ売上テーブルから、月ごとの売上合計を取得するSQL文です。



解説

DATE_TRUNC(‘month’, order_date)
→ 日付を「月の初日0時0分0秒」に切り捨てて月単位でまとめます。

SUM(sales_amount)
→ 月ごとの売上合計。

GROUP BY と ORDER BY
→ 月単位でグルーピングし、時系列で並べています。

必要に応じて、フォーマットを変えて「YYYY-MM」形式などで出したい場合は、次のように書けます:



こちらは表示目的(例:グラフ描画や帳票)で使いやすい形式になります。どちらを使うかは用途に応じて選んでください。

ChatGPTは、PostgreSQL、BigQuery、MySQL、SQL Serverなど、主要なデータベースのSQL構文(方言)に対応したクエリを生成することができます。プロンプトの中で「BigQuery」や「MySQL」などと指定するだけで、SQLの方言にも自動で対応してくれるのは大きな利点です。

ただし、生成されたSQLをそのまま本番環境で使うのは避けた方がよいでしょう。

ChatGPTは非常に高精度とはいえ、実際のテーブル構造を把握しているわけではありません。そのため、存在しないカラム名を使っていたり、NULL処理やデータ型の扱いに誤りがあったりするケースもあります。また、パフォーマンスやインデックスへの配慮が不足している場合もあるため、出力されたSQLはあくまで「たたき台」として捉え、自分の環境で必ずテスト・検証を行うことが大前提です。

より正確なSQLを得たいなら、テーブル構造をあらかじめ伝えておくと効果的です。たとえば、以下のように指示してみてください。

salesテーブルには以下のカラムがあります:

– order_id: 整数
– order_date: TIMESTAMP
– sales_amount: 数値

【2】前処理をさせる──欠損補完・型変換・不要列削除も自動でOK

欠損値の処理・文字列の整形・不要な列の削除など、分析に取りかかる前の“前処理”に一番手間がかかっていると感じる方は少なくないでしょう。

そうした前処理作業でも、ChatGPTは大いに機能します。CSVやExcelファイルの内容をコピーして貼り付ける、あるいはファイルそのものをアップロードしたうえで、「この列の欠損値を平均で埋めて」「文字列になっている日付をdatetime型に変換して」「使っていない列は削除して」といったように、やりたいことをそのまま伝えるだけで、pandasなどを使ったPythonコードを即座に提案してくれます。

▼ たとえば、こんな指示でOKです

このデータフレームの sales_amount に欠損値があります。平均値で補完してください。

また、order_date を datetime 型に変換して、customer_notes 列は削除してください。

pandasでお願いします。

ChatGPTが返してくれるコードは以下のようなものです。

このように、自然な日本語で指示を出すだけで、実務でそのまま使えるコードが自動的に生成されます。特に、「関数が思い出せない」といった初心者にありがちな悩みも、ChatGPTを活用すれば大きく軽減できます。さらに前処理の過程では、「こんな処理も必要だったのか」と気づかされることも少なくありません。たとえば、数値なのに文字列として読み込まれていた列に対して自動で型変換を提案してくれたり、カテゴリ変数の扱い方について補足してくれることもあります。

ただし、ChatGPTはデータの“意味”そのものを完全に理解しているわけではないため、提案されたコードを人間が試し、確認するフェーズは必要ということも押さえておきましょう。

注目言語:「R」と「Python」の特徴と違いを簡単に解説!!

続きを読む 》

【3】分析の“アイディア”を出させる──壁打ち役としての活用

「手元にデータはあるけど、どんな切り口で分析すればいいかわからない」
「どの項目に着目すべきか、誰かに相談したい……」

そんなとき、ChatGPTは非常に強力な壁打ち相手になります。アップロードしたデータの内容や、自分の業務背景を伝えるだけで、分析の切り口や有効な視点を提供してくれます。

▼ たとえば、こう伝えてみましょう

このアンケートデータは、従業員満足度調査の結果です。

「部署」「職位」「満足度(1〜5)」といった項目があります。

何か分析に役立ちそうな視点や、グラフにするとわかりやすい比較があれば提案してください。

このような指示を出すと、ChatGPTは以下のようなアイディアを返してくれました。

分析や可視化の視点として有効な切り口を以下に提案します。

🔍 分析に役立つ視点

1. 部署別満足度の傾向分析
各部署ごとの平均満足度を算出。
組織全体の平均と比べて、相対的に高い/低い部署を特定。
→「どこにテコ入れすべきか」が見える。

2. 職位別満足度の差異
「一般職・主任・課長・部長」など職位別に集計。
上位職ほど満足度が高いのか?現場の不満が強いのか?という観点で分析。
→キャリア段階での不満ポイントを特定。

3. 部署×職位のクロス集計
ピボットテーブル形式で、「部署 × 職位」ごとの平均満足度。
→例えば「営業部の課長層だけが著しく不満」など、ピンポイントで課題が浮き彫りに。

4. 満足度分布(ヒストグラム)
全体の「1~5」の満足度の分布を視覚化。
→平均だけでは見えない「両極端な不満層・満足層」の存在が可視化される。

5. 満足度の中央値・標準偏差によるばらつき分析
部署単位で**ばらつき(標準偏差)**を確認することで、「個人差が大きい部署」=マネジメント不安定な部署の可能性を探る。

📊 グラフ化の提案

分析対象 グラフ形式 備考
部署ごとの平均満足度 棒グラフ 水平方向に並べて見やすく
職位別満足度 棒グラフまたは箱ひげ図 分布を見る場合は箱ひげ図も有効
部署×職位ごとの平均 ヒートマップ 一目で“どこに課題が集中しているか”が分かる
全体の満足度分布 ヒストグラム スコアの偏りを把握
部署別満足度のばらつき エラーバー付き棒グラフ 平均+標準偏差で“安定性”も視覚化
🧠 補足視点
必要に応じて属性(年齢層や勤続年数など)があれば、さらにクロス分析が可能。
アンケートに自由記述欄があれば、テキストマイニングで不満要素の分類も有効。

ご希望あれば、具体的な可視化コード(Python/Pandas+Matplotlibなど)もご用意します。

このように、自分では思いつかなかった視点や比較軸を次々と提案してくれ、必要とあらば具体的な可視化コードも用意してくれるChatGPT。続けて「KPIに使えそうな指標は?」「なぜこの数値が高いのかを調べるにはどうしたらいい?」と聞けば、さらに役立つ視点や具体的な比較方法を提案してくれるため、ただの“道具”としてではなく、“相談相手”として活用できます。

もちろん、提案された内容すべてが正しいとは限りませんが、「とりあえず聞いてみる」ことで思考が進むのは大きなメリットです。

データとにらめっこする時間が長くなったら、まずはChatGPTに相談してみましょう。

【4】グラフを描画させる──目的とツールに応じた“その場で”のビジュアライズ

集計したデータの可視化にはデータの集計や分析とまた違った技術が必要とされるため、苦手な方も少なくありません。とはいえ、データの中にある特徴や傾向を“視覚的に伝える”ことは、意思決定や共有の場面では非常に重要です。そこでもやはりChatGPTは役立ちます。

最近では、Python、Excel、Googleスプレッドシート、BIツールと、可視化の選択肢は豊富にあります。重要なのは、「どんな目的で誰に何を伝えたいのか」そして「自分が使いたい・使えるツールは何か」を明確にした上で、最適な手段を選ぶことです。

たとえば、Pythonを使う場合は、ChatGPTに次のような指示を出すだけで、グラフを描くためのコードを生成してくれます。

▼ たとえば、次のようなプロンプトを使ってみてください

このsales.csvのデータを使って、月別の売上合計を棒グラフにしてください。

日本語ラベルで、matplotlibを使ってお願いします。

すると、ChatGPTは次のようなPythonコードを返してくれます:

import pandas as pd
import matplotlib.pyplot as plt

# データの読み込み
df = pd.read_csv(“sales.csv”)

# 日付を月単位に変換
df[“order_date”] = pd.to_datetime(df[“order_date”])
df[“month”] = df[“order_date”].dt.to_period(“M”)

# 月別の売上合計を集計
monthly_sales = df.groupby(“month”)[“sales_amount”].sum()

# グラフ描画
monthly_sales.plot(kind=”bar”, title=”月別売上合計”, ylabel=”売上金額(円)”)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

sales.csvのファイルをアップロードしたうえで上記のコードをGoogle Colab上で実行させたところ、以下のように、月別の売上合計が表として描画されました。

グラフ作成は、Python初心者にとってハードルが高く見えがちですが、ChatGPTに頼れば、ライブラリの使い方を覚えなくても、目的の図を生成することが容易になります。たとえば、以下のようにさらに細かく指示を出すことで、データの表現方法はより多様かつ高度になるはずです。

・折れ線グラフや円グラフなどの種類変更
・色やフォント、軸ラベルなどのデザイン調整
・データの一部フィルタ(例:特定の月だけ抽出)
・インタラクティブなグラフにしたい場合はplotlyを使うよう依頼

【おまけ】ChatGPTは数字が苦手? 実際のところとその対策

ChatGPTを使っていて、「あれ、計算結果が間違っている?」「値が合っていない?」と感じたことがある方もいるかもしれません。

実際、ChatGPTは“言語モデル”であり、数学的な演算処理そのものを内部で正確に行っているわけではありません。とくに長い数値や小数点以下の精密な計算、統計的な推定値などでは誤差が生じることがよくあります。

これらに対し、どう対策すればよいのでしょうか?

考え得る方法は、「コードで出させて、そのコードを実行する」というプロセスを徹底することです。

たとえば、月次売上データ(sales.csv)の平均値を出したい場合は、「このデータの平均を教えて」ではなく、以下のように指示を行います。

▼ たとえば、こんなふうに依頼できます

CSVファイル(sales.csv)の sales_amount 列の平均を計算する Python(pandas)

このように、計算結果そのものはGoogle ColabやローカルのPython環境で実行して得るというスタイルであれば、ChatGPTの特性を生かしながら正確な数値を出すことができます。その際、データ型や前提条件を事前に共有する、一つずつ指示を行う(ステップバイステップ)といったポイントを押さえることも有効な工夫となるでしょう。

終わりに

ChatGPTなどの生成AIは「データ分析をともに進めるパートナー」として十分に活用できる段階に来ています。

もちろん、数字の精度や実行環境への反映など、人間の目で確認すべきポイントもありますが、データ分析の速度・質を大きく変えてくれるのは間違いありません。

まずは、あなたの業務で繰り返している作業や、アイディアが煮詰まっている場面からGPTに自然な言葉で相談を持ち掛けてみることをおすすめします。

宮田文机

 

参照元

メルマガ登録をしていただくと、記事やイベントなどの最新情報をお届けいたします。


データ活用 Data utilization テクノロジー technology 社会 society ビジネス business ライフ life 特集 Special feature

関連記事Related article

書評記事Book-review

データのじかん公式InstagramInstagram

データのじかん公式Instagram

30秒で理解!インフォグラフィックや動画で解説!フォローして『1日1記事』インプットしよう!

おすすめ記事Recommended articles

掲載特集

デジタル・DX・データにまつわる4コマ劇場『タイムくん』 データのじかんをもっと詳しく データのじかんフィーチャーズ 「47都道府県47色のDXの在り方」を訪ねる『Local DX Lab』 DXの1次情報をを世界から 『World DX Journal』 データで越境するあなたへおすすめの 『ブックレビュー』 BIツールユーザーによる、BIツールユーザーのための、BIツールのトリセツ CIOの履歴書 by 一般社団法人CIOシェアリング協議会 なぜ、日本企業のIT化が進まないのか――日本のSI構造から考える 日本ビジネスの血流である帳票のトレンドを徹底解説 データを武器にした課題解決家「柏木吉基」のあなたの組織がデータを活かせていないワケ BI(ビジネスインテリジェンス)のトリセツ 入社1年目に知っておきたい 差が付くKPIマネジメント CIOLounge矢島氏が紐解く トップランナーたちのDXの“ホンネ” データのじかん Resources 越境者のためのお役立ち資料集 AI実装の現在地点-トップITベンダーの捉え方 データでビジネス、ライフを変える、 面白くするDATA LOVERS データマネジメント・ラジオ by データ横丁 データのじかんNews データ・情報は生もの! 『DX Namamono information』 ちょびっとラビット耳よりラピッドニュース AI事務員宮西さん(データ組織立ち上げ編) 藤谷先生と一緒に学ぶ、DXリーダーのための危機管理入門 生情報取材班AI時代に逆行?ヒトが体感した「生情報」のみをお届け! データはともだち 〜怖くないよ!by UpdataTV Original データ飯店〜データに携わるモノたちの2.5thプレイス by UpdataTV〜 インサイトーク〜データで世界を覗いてみたら〜by WingArc1st + IDEATECH データの壁を越え、文化で繋ぐ。データ界隈100人カイギ
モバイルバージョンを終了