3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【GitHub人気急騰】PandasAI で実現する「コード0行」のデータ分析革命!

Posted at

はじめに

「データ分析のコードを書くのが面倒...」そんな悩みを一瞬で解決する革命的ツールが登場しました。

PandasAI は、あなたの言葉をそのままコードに変換し、複雑なデータ分析を自然言語だけで完結させる次世代フレームワークです。

「このデータの平均値は?」「男女比をグラフで見せて」と話しかけるだけで、バックグラウンドでLLMが最適なPythonコードを自動生成・実行し、即座に結果を返してくれます。

コーディングの壁を取り払い、誰もがデータの力を最大限に引き出せる新時代の幕開けです。


1. PandasAI(PandaAI)とは?

PandasAI(PandaAI) は、対話型のデータ分析フレームワークです。pandasのデータフレームを使った分析や、SQLクエリの代わりに自然言語で「~してほしい」と指示を出すだけで、バックエンドではLLMがPythonコードやSQLを自動生成して実行し、結果を返してくれます。

PandasAIは以下のような特徴があります。

  • 自然言語でデータ操作
    「このカラムの要約統計量を出して」「2021年以降に絞って平均を計算して」などの要望を、そのまま会話形式でやり取り可能。
  • 複数のデータソース対応
    CSVやParquetといったローカルファイルだけでなく、BigQuery・Snowflake・Databricks・Oracleなどの外部データベースとも接続して対話形式でデータを取得できます。
  • 多様なLLMを活用できる設計
    OpenAI、HuggingFace、Google Vertex AI、LangChain、あるいはローカルのLLMなど、さまざまなモデルを背後で使うことが可能です。
  • セキュリティの拡張機能
    高度なSecurity Agent(エンタープライズ向けライセンス)により、生成したコードの安全性や適切な利用を評価する仕組みも提供されています。

最新の情報は公式ドキュメントGitHubリポジトリを参照すると詳細を深掘りできます。


2. 主な機能・特徴

PandasAIの機能をもう少し具体的に紹介します。

  1. 自然言語による質問・命令
    たとえば、ある心臓病に関するCSV(heart.csv)を読み込んだデータフレームに対して、「平均年齢は何歳?」「男女比を出して棒グラフで可視化して」などと指示をすると、裏でLLMが分析コードを生成して実行、結果を返してくれます。

  2. データの対話型可視化
    「グラフで見せて」「棒グラフと折れ線グラフを重ねて表示して」などといった自然言語を入力するだけで、必要なPythonコード(matplotlib、seabornなど)を自動生成して画像として出力。数行のコードを書く手間が省けます。

  3. LLMコネクタの豊富さ
    オープンソースのOpenAI、HuggingFaceなどだけでなく、AWS BedrockによるClaudeの利用、Google Vertex AI/Gemini、IBM WatsonX、LangChain連携、さらにはローカルLLMなど、多彩なLLMを組み合わせることで、用途に合わせた分析が可能です。

  4. 多様なデータソース
    CSVやParquetだけでなく、SQLデータベース(Postgres、MySQL、CockroachDBなど)、BigQuery、Snowflake、Databricks、Oracleとも連携。企業が保有する大規模データにも対応しやすい設計です。

  5. セキュリティと拡張機能

    • Advanced Security Agent
      生成コードが安全かどうかを判定する「JudgeAgent」「SecurityAgent」などの仕組みも(有償エディション)提供。
    • 権限管理・パスワード保護
      AIダッシュボードを組織内やコミュニティに共有する際のアクセスレベル管理が可能です。

3. 基本的な使い方

PandasAIの導入方法はPoetryまたはpipからインストールするのが一般的です。
ここではpipの例を簡単に示します。LLMコネクタとしてOpenAIを利用する場合は、pandasaipandasai-openaiの両方をインストールするとよいでしょう。

pip install pandasai
pip install pandasai-openai
  1. ライブラリの読み込みとデータの準備

    import pandas as pd
    from pandasai import SmartDataframe
    from pandasai_openai import OpenAI
    
    # データ読み込み
    df = pd.read_csv("heart.csv")  # 例として心臓病データを読み込み
    
  2. LLM(ここではOpenAI)とSmartDataframeの設定

    llm = OpenAI(api_token="YOUR_OPENAI_API_KEY")  # OpenAIキーを設定
    sdf = SmartDataframe(df, config={"llm": llm})
    
  3. 自然言語で質問する

    answer = sdf.chat("男女比を教えてください")
    print(answer)
    

    これで、指定したデータフレームに対して「男女のレコード数の比率」を計算するPythonコードが自動生成・実行され、その結果が表示されます。

  4. プロットの作成も自然言語で

    plot_result = sdf.chat("男女を棒グラフで可視化してください")
    

    matplotlibやseabornを使った可視化コードが生成され、画像が出力されます。コマンドラインやノートブック環境によっては、そのまま画像が表示される形です。


4. 拡張的な使い方(LLM・Connectors・Security機能)

(1) LLMコネクタの切り替え
プロジェクトや利用可能なAPIに応じて、HuggingFaceのモデルを使いたい場合はpandasai-huggingface、Google Vertex AIを使いたい場合はpandasai-googleなど、追加でインストールし、configに対応するLLMインスタンスを渡すだけで切り替えができます。

(2) Connectorsで複数のデータソースに対応
CSV・Parquetなどローカルファイルに加えて、以下のような拡張をインストールすればBigQueryやSnowflakeなどに接続できます。

pip install pandasai-bigquery
pip install pandasai-snowflake
# など

設定例:

from pandasai_bigquery import load_from_bigquery

connection_info = {
    "project_id": "my-project",
}
df_bigquery = load_from_bigquery(connection_info, query="SELECT * FROM my_dataset.my_table")

その後は通常のDataFrame同様にdf_bigquery.chat("~して")という利用が可能になります。

(3) Security機能

  • Advanced Security Agent: モデルが出力するコードが意図せず危険な操作をしないかを監査する仕組み。
  • JudgeAgent: 生成コードが正しい処理をしているかを判定。
    エンタープライズ向けの利用となり、ライセンス要件がありますが、社内や商用利用での安全性を高めるうえで重要な役割を果たします。

5. 次のステップ

  1. ドキュメントを読む
    PandasAI公式ドキュメントには、より詳細なコード例や高度な機能の使い方が紹介されています。
  2. GitHubでリポジトリを確認する
    公式GitHubリポジトリにはソースコードやIssue、Pull Requestのやり取りが公開されているので、バグ報告や新機能提案を行いたい場合に便利です。
  3. 実運用に向けた拡張
    セキュリティ強化や大規模データ連携が必要な場合は、JudgeAgentやAdvanced Security Agentのライセンス、あるいは各種Connectorsのエンタープライズ拡張を検討するとよいでしょう。

まとめ

PandasAIは、データ分析の民主化を実現する画期的なフレームワークです。

SQLやPythonの専門知識がなくても、自然な会話だけで高度なデータ分析が可能になります。
複雑なコードを書く時間は過去のものとなり、データからのインサイト発見に集中できるようになります。

BigQueryやSnowflakeなどの多様なデータソースにも対応し、エンタープライズレベルのセキュリティ機能も備えています。

PandasAIの登場により、「コードを書く人」と「分析する人」の境界線が溶け、組織全体のデータ活用能力が飛躍的に向上するでしょう。

対話型AIデータ分析の未来がここに—今すぐPandasAIを試して、データとの新しい対話を始めましょう。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?