😊

Pandas AIとは何か?

2023/06/06に公開

Pandas AIの概要

Pandas AI とはGit

データは現在ますます重要性が増してきています。これはビジネスから科学、政策作りまで、あらゆる分野での意思決定に影響を及ぼしており、データを効果的に解析し、有益な洞察を引き出す能力は必須スキルになりつつあります。そのタイミングでデータサイエンスの現場で広く利用されているPythonのPandasを進化させたライブラリが登場しました。それがPandas AIというデータ分析に欠かせない強力なデータ分析ライブラリです。

Pandas AIの可能性

Pandas AIを利用することでこれまでデータ分析の知識がないとできなかった「データの操作、クリーニング、変換」などを容易に効率的に行うことが可能になります。
そのため、Pandas AIは、データサイエンティスト、エンジニア、または単にデータに興味がある人々にとって、新たな洞察を引き出す強力なツールとなる可能性があります。

Pandas AIの機能

その主な機能と利点をいくつか紹介します

  1. ストリームライン化されたデータ分析:データの操作、クリーニング、変換を容易にする効率的な関数とメソッドを提供することで、データ分析ワークフローを簡素化します。この直感的なインターフェースは、複雑なコーディングの必要性を排除し、アナリストが大規模なデータセットをスムーズに扱い、複雑な操作を効率よく行うことができます。

  2. 合成データ生成のための生成的AI能力:高度な生成的AI技術を使用して合成データセットを生成する能力です。これは、敏感なデータや限定的なデータへのアクセスが制限されているシナリオで非常に価値があります。研究者や開発者は、Pandas AIを利用して、現実の分布とパターンに密接に似た人工データを作成することができます。

  3. シミュレーションによる意思決定の加速:潜在的な結果についての洞察を提供するシミュレーションを提供することで、意思決定者を支援します。ライブラリは、データを操作し、変数を導入することで、ユーザーがさまざまな「もしも」のシナリオを探索し、異なる戦略の影響を評価することができます。

  4. データクレンジングと前処理の自動化:データクレンジングと前処理は、任意のデータ分析パイプラインで重要なステップです。これらのプロセスを自動化し、欠損値の補完、外れ値の検出、特徴のスケーリングなどのデータクリーニングタスクをより効率的に行うことができます。

準備

早速Pandas AIを使用していきたいと思います。
まずは使用するための準備です。

1.pipを使ってインストールする必要があります。

pip install pandasai

2.OpenAIのAPI Keyを用意します。
PandasAIではopenAIを利用する必要があります。
API Keyが準備できていない場合こちらから取得することができます。

3.pandasaiで使用するためのデータを用意します。
すでに分析したいデータがある場合はそちらを利用してください。
今回は従業員のチームと給与を用意しています。

import pandas as pd
import numpy as np
# Generating the data
names = ["Employee" + str(i) for i in range(1, 301)]
teams = np.random.choice(["Marketing", "Sales", "Product", "Engineering", "HR"], 300)
salaries = np.random.randint(50000, 100000, 300)
# Creating a dictionary with the generated data
data = {
    "name": names,
    "team": teams,
    "salary": salaries
}
# Creating a DataFrame from the dictionary
df = pd.DataFrame(data)
# Saving the DataFrame to a CSV file
df.to_csv("employees.csv", index=False)

このコードを実行すると下記のようなデータができると思います。

name team salary
Employee1 Product 52646
Employee2 HR 45838
・・・ ・・・ ・・・
Employee300 Sales 65166

Pandas AIの使用例

Pandas AIを利用しチームの給与状況を調べる

作成されたデータをpandasで読み込みチームごとの最高給与を調べてみます。

# Importing the pandas package
import pandas as pd
from pandasai import PandasAI

# Creating a DataFrame from the CSV file
df = pd.read_csv("employees.csv")

# Setting up the OpenAI token
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="YOUR-TOKEN")
pandas_ai = PandasAI(llm, verbose=True)

# Writing the question
response = pandas_ai(df, "Display the highest-paid employees with their names, teams, and salaries within each team.")
print(response)

こちらが結果です。実際にcsvを確認すると各チームの最高給与になっていることが確認できました。

name team salary
Engineering Employee35 98743
HR Employee21 99656
Marketing Employee287 99973
Product Employee151 99724
Sales Employee137 99538

次にresponseだけ変更し平均給与を出してみましょう

response = pandas_ai(df, "What is the average salary per team?")

チームごとの給与平均が作成されました。

name avg_salary
Engineering 73544.818182
HR 73965.034483
Marketing 78545.020000
Product 76346.548387
Sales 73236.866667

作成された給与平均をプロットしてみましょう。

response = pandas_ai(df, "Plot a bar chart showing the average salary by team.")

特に指定なく図が作成されました。

まとめと将来展望

まとめ

Pandas AIは、データ分析と生成的AIを統合することで、データ駆動型のプロジェクトを革新的に進めることを可能にするPythonライブラリです。このライブラリは、データ分析のワークフローを簡素化し、高度な生成的AI技術を利用して合成データセットを生成し、決定過程を加速するためのシミュレーションを提供し、データクレンジングと前処理を自動化します。

これにより、ユーザーはデータに対する複雑なクエリを簡単に作成し、データを視覚化し、意味深い洞察を得ることが可能となります。ただし、Pandas AIの使いやすさと高度な機能にも関わらず、一部のユーザーは学習曲線が急であると感じるかもしれません。また、データのプライバシーとセキュリティについての懸念もあります。

将来の展望

Pandas AIは、その使いやすさとパワーにより、データ分析のフィールドに革新的な変化をもたらす可能性があります。その生成的AI能力は、特にデータが限られているか、個人情報保護のためにアクセスが制限されている場合に、新たな可能性を開くことができます。

ただし、このライブラリの成功は、その使用法とデータセキュリティに対する理解が広まることに大いに依存しています。これには、Pandas AIのより広範な教育とトレーニングが必要となるでしょう。

さらに、Pandas AIはその能力を更に拡大し、より複雑なクエリの処理、より洗練されたデータ視覚化、そしてデータ駆動型の意思決定をより効率的に行うための新たなツールと機能を提供することが期待されます。

最後に、Pandas AIの開発者はライブラリのアクセシビリティと多機能性を維持するために、そのユーザーベースからのフィードバックを継続的に取り入れ、改善を続けることが重要となるでしょう。

Voicyテックブログ

Discussion