fc2ブログ

PandasAIを使う(2)

 前回の続きです。今回はPandasAIを使って欠損データの補完を行いました。

 実行させたPythonコードは以下の通りです。事前に欠損のあるsample.csvを準備しました。PandasAI_Prog2_230624.pngDatatime、TemperatureA、TemperatureBの3項目で、レコードが100個のデータです。中身を確認すると、欠損があることが分かります。PandasAI_Prog2_df_230624.png
 まず、15行目のPromptで「このDataFrameの中の欠損データを抽出」してもらいました。PandasAI_Prog2_Prompt1_230624.png4レコードに欠損データがある結果でしたが、正しく回答できていました。
欠損データの補完は、PandasAIのショートカット関数(impute_missing_values)を用いました。PandasAI_shortcut_230624.png実行させるとエラーが発生しましたが(ベータ版のため?)、PandasAIを最新版にUpdateすることで回避できました。missing_value_impute_error_230624.pngエラーが出たバージョンはversion_before_230624.pngで、最新版(23/06/25時点)はversion_after_230624.pngです。欠損データ補完したDataFrameをdf1として、元のデータセットと比較を行いました。PandasAI_Prog2_df1_230624.png確かに、データ補完されています。念の為、欠損値のある4レコードを処理前(左側)、処理後(右側)で表すと以下の通りです。missing_check1_230624.pngmissing_check2_230624.pngmissing_check3_230624.pngmissing_check4_230624.png一つ目の3:18のデータから判断する限り、欠損データの1つ前の値で補完されているようですね。

まだ、十分使いこなせていないので、何とも言えませんが、日々機能が追加され、良くなって行く気がします。データ分析はPythonやRを使って、コーディングして行く方法からAIツールを用いて、誰でも簡単にできるような時代にシフトして行くのでしょうね。要ウォッチです。
スポンサーサイト



PandasAIを使う(1)

 最近、休日も多忙でブログの更新ができていませんでした・・。(1ヶ月間の更新なしでブログに広告が出る手前ですね・・)。

 さて、ChatGPTのような「生成AIブーム」ですが、PandasにChatGPTの機能を実装したPandasAIというライブラリを見つけましたので、早速味見をしました。

 題材はGithub内にあるサンプルを参考に実行しました。ドキュメントは別のサイトにあります。

 実行したコードは以下の通りです。実行する上での条件は、OpenAIのAPIの有償アカウントを持っていることと、Pythonのバージョンは3.9以上でした。PandasAI_Prog1_230624.png 10カ国のGDPと幸福度のデータをDataFrameとして読み込んでいます。PandasAI_Prog1_df_230624.png
 PandasAIへのPromptは、22、24、26、28行目に記載しています。DataFrame dfとPromptを引数にした簡単な関数コールです。

 1つ目(22行目)の「幸福度の高いTop5はどこですか?」という質問に対する回答は以下の通り。PandasAI_Prog1_Prompt1_230624.png合っていますね。Pandas単体でも同じ結果を求めるコードは書けますが、Promptで書くと、直感的に分かりやすいですね。

 2つ目(24行目)の「GDPの高いTop5はどこですか?」という質問の回答は、PandasAI_Prog1_Prompt2_230624.pngで、これもOKです。

 3つ目(26行目)の「各国のGDPを棒の色を変えてヒストグラム化しなさい。」という指示です。PandasAI_Graph_before_230624.png確かに指示通りのグラフまで作成してくれ、グラフの細かい設定をmatplotlib等でしなくても良い所が楽ですね。このグラフは見た目で、GDPの順位が分かりにくいので、降順に並べてもらう指示を4つ目(28行目)で行いました。結果は以下の通りでした。PandasAI_Graph_after_230624.pngいい感じです。項目名で文字が切れてしまっている所もありますが、Promptで細かく指示をすれば解決できそうな気もします・・。

 PandasAIについて、まだ、どの程度のことができるか分からないので、次回はデータ分析の前処理の際によく実施する欠損データの補完を試してみようと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: