データの謎を解く名探偵!pandas-aiで始める会話型データ分析


データの謎を解く名探偵!pandas-aiで始める会話型データ分析

sinaptik-ai/pandas-ai

2025-08-12

ソフトウェアエンジニアの皆さん、こんにちは!日々、データの海で奮闘していることと思います。ユーザーの行動分析、サービスのパフォーマンス監視、膨大なログからのエラー特定...。そんなとき、「このデータから、特定の期間のユーザーログイン数を教えて」「売上が一番高かった月のトップ10商品をリストアップして」といった質問に、SQLクエリを書いて、データフレームを操作して...と、一歩一歩手作業でデータを探索するのは大変ですよね。

ここで、探偵が登場します。あなたが抱えるデータという名の「未解決事件」を、pandas-ai という名の「名探偵」が、あなたの言葉(自然言語)で、まるで推理するかのように鮮やかに解決してくれます。

pandas-ai は、Pythonのデータ分析ライブラリである pandas にAIの力を組み合わせたツールです。これを使うと、自然言語でデータフレームに質問するだけで、データ分析ができてしまいます。裏側では、大規模言語モデル(LLM)と検索拡張生成(RAG)の技術が使われており、まるでデータベースと会話しているかのように、データ分析を進めることができるのです。

ソフトウェアエンジニアとして、pandas-aiは以下のような場面で非常に役立ちます。

開発中のデータ探索
新機能開発時に、過去のデータを分析して要件定義のヒントを得る。

デバッグ・エラー分析
ログデータから特定のパターンのエラーを素早く見つける。

パフォーマンスモニタリング
サービス指標(KPI)を簡単にチェックして、パフォーマンスの変化を追跡する。

プロトタイピング
分析ツールを本格的に開発する前の、迅速なデータ分析と可視化。

データ分析の専門知識がなくても、直感的にデータを扱えるようになるのが最大のメリットです。

まずは、pipを使ってpandas-aiをインストールしましょう。

pip install pandasai

次に、LLMのAPIキーを設定します。ここでは、OpenAIのAPIキーを例に説明します。os モジュールを使って環境変数として設定するのがおすすめです。

import os
os.environ["PANDASAI_API_KEY"] = "YOUR_API_KEY"

実際にpandas-aiを使ってみましょう。ここでは、簡単なCSVファイルを使って、データフレームに質問する例を紹介します。

import pandas as pd
from pandasai import SmartDataframe

# サンプルデータを作成
df = pd.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Japan"],
    "gdp": [19294482071552, 2891615567296, 2411236245040, 3435817336877, 1745672875200, 1181205135306, 5167018269777],
    "happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 5.88]
})

# SmartDataframeに変換
sdf = SmartDataframe(df)

# 自然言語で質問
response = sdf.chat("gdpが最も高い国はどこですか?")
print(response)

# 複数の質問を組み合わせる
response2 = sdf.chat("gdpが最も高い国と、その国のhappiness_indexを教えてください。")
print(response2)

このコードを実行すると、pandas-aiがデータフレームを分析し、以下のような答えを返してくれます。

United States
The country with the highest GDP is United States, and its happiness index is 6.94.

pandas-aiは、データ可視化もお手の物です。グラフを生成するように指示することもできます。

import pandas as pd
from pandasai import SmartDataframe

# サンプルデータを作成
df = pd.DataFrame({
    "product": ["Apple", "Orange", "Banana", "Grape", "Melon"],
    "sales_q1": [120, 150, 80, 200, 90],
    "sales_q2": [130, 160, 90, 190, 100],
    "sales_q3": [140, 170, 100, 180, 110],
    "sales_q4": [150, 180, 110, 170, 120]
})

# SmartDataframeに変換
sdf = SmartDataframe(df)

# 各四半期の売上合計を棒グラフで表示
sdf.chat("各四半期の売上合計を棒グラフで表示してください。")

このコードを実行すると、pandas-aiがsales_q1からsales_q4までの合計を計算し、棒グラフを自動で生成して表示します。

pandas-aiは、ソフトウェアエンジニアの皆さんのデータ分析の強力な味方になります。複雑なクエリやデータ操作を頭の中で組み立てる代わりに、「自然言語で質問する」 というシンプルなアプローチで、データの謎をスピーディーに解き明かすことができるのです。

ぜひ一度試してみて、その便利さを体感してみてください。あなたの探偵としてのデータ分析スキルが、きっと格段にアップするはずです。


sinaptik-ai/pandas-ai




エンジニア向け firecrawl活用ガイド:LLMのためのデータ準備

AIモデルは、生のHTMLよりもクリーンで構造化されたデータを好む。しかし、ウェブサイトから情報を手動でコピー&ペーストするのは非効率的で、フォーマットもバラバラになる。そこで登場するのがfirecrawl/firecrawlだ。こいつはウェブサイト全体をクロールし、AIがすぐに使えるMarkdown形式や構造化されたデータ(JSON)に変換してくれる。これにより、無駄な作業を省き、AIの学習や活用を効率的に進めることができる。


新米エンジニアよ、AIの基礎を叩き込め!「ML-For-Beginners」で差をつけろ!

今日はな、テメーらみたいなピヨピヨの新入りでも、一丁前にAIとか機械学習とか言えるようになっちまう、とっておきのモンを紹介してやるぜ!それがこれだ、どーん!microsoft/ML-For-Beginners [python, education


「彼女の下着は何色?」という問いにAIが即答できる理由 — CocoIndexによる動的データ処理

「彼女の下着は何色?」という、一見すると AI が答えに窮しそうな(あるいはプライバシーや文脈に依存する)「特定の、移り変わる、あるいは非常に個人的なデータ」を扱う場面で、なぜこのツールが最強の味方になるのか、という切り口でお話しします。一言でいうと、「情報の更新(増分更新)に特化した、爆速の AI データ整理棚」です。


データエンジニアリングの「信じる派」も「信じない派」も納得! ハンドブック活用ガイド

データエンジニアとして、このハンドブックが「信じる派」にとってどれほど強力なツールになり得るか、そして「信じない派」がなぜ懐疑的になるのか、それぞれの視点から見ていきましょう。「信じる派」のあなたなら、このハンドブックはまさに救世主だと感じるでしょう。


ドラえもんの道具で解説!RD-Agentがもたらす開発革命

研究開発(R&D)を自動化してくれる、まさに「開発者版どこでもドア」とでもいうべきすごい技術なんです。「RD-Agent」は、AIを使ってAIの研究開発を自動化するためのツールです。まるで優秀なAIアシスタントがチームに入ってくれるようなイメージです。


NumPyで紐解く、機械学習のレシピ帳:eriklindernoren/ML-From-Scratch

五郎さん、今日は神保町で新しいプロジェクトの打ち合わせっすか? いやー、それにしても、五郎さんの目の前にあるそのGitHubリポジトリ、「eriklindernoren/ML-From-Scratch」、なんだか気になりますね。「ん?なんだか腹が減ってきたな。いや、そうじゃなくて。この『ML-From-Scratch』ってやつ、一体何なんだ?」


【煽り運転に注意】ウェブサイトをLLM対応データに変換する「Firecrawl」の活用術

mendableai/firecrawlは、ウェブサイト全体をLLM(大規模言語モデル)が扱いやすい形式に変換してくれる、とても便利なツールです。ウェブサイトの情報をLLMに学習させたり、リアルタイムで情報を取得して応答に組み込んだりしたい場合、通常は手動でデータを整形したり、複雑なスクレイピングコードを書く必要があります。しかし、Firecrawlを使うと、URLを指定するだけで、必要なデータを簡単に取得・加工できるんです。


Pythonエンジニア必見!次世代スクレイピングフレームワーク『Scrapling』完全ガイド

今日はエンジニアの姫のために、最近業界で「超イケてる」って噂のスクレイピング・フレームワーク『Scrapling』について、俺がエスコートするみたいに優しく教えてあげるよ。これを使えば、面倒なデータ収集も俺の接客くらいスマートに片付いちゃうから、しっかり見ててね。


GitHubの宝の山!Microsoft公式の「データサイエンス10週間コース」を徹底解説

準備はいいかな?それじゃあ、データサイエンスの体操、はじめるよー!イチ、ニ!イチ、ニ!「データサイエンスって、数学ばっかりで難しそう……」って思ってるお友達! この教材はね、エンジニアにとって「最高の地図」なんだ!「コードを書く」だけじゃない!ただの文法解説じゃなくて、「なぜこのデータが必要なのか?」というビジネスの視点も学べるんだ。