當前位置:首頁(yè) > 百科 > 正文內容

怎么用 PandasAI 進(jìn)行對話(huà)式數據分析?

雙鴨山名片打印4個(gè)月前 (06-17)百科9
印刷廠(chǎng)直印●彩頁(yè)1000張只需要69元●名片5元每盒-更多報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

本文主要介紹了如何利用PandasAI這個(gè)工具進(jìn)行對話(huà)式的數據分析,包括安裝、引入SmartDataFrame、生成和分析數據以及繪制圖表等步驟,并提醒讀者注意大模型生成的結果需要進(jìn)一步驗證。

怎么用 PandasAI 進(jìn)行對話(huà)式數據分析?

PandasAI 是一個(gè)能讓數據分析變得更加有趣的庫,它充分利用了 Pandas 的強大功能,并結合大型語(yǔ)言模型的優(yōu)勢,使得用戶(hù)能夠以日常對話(huà)的方式進(jìn)行數據分析。例如,你問(wèn) PandasAI:

累計購買(mǎi)次數最多的客戶(hù)是誰(shuí)?

PandasAI 會(huì )直接告訴你答案,而不你用去寫(xiě)很多代碼,也不用做一些繁瑣的操作。

那么,具體應該怎么用 PandasAI 進(jìn)行對話(huà)式的數據分析呢?

首先,你需要安裝 PandasAI,如果你還沒(méi)有安裝的話(huà),可以在數據分析環(huán)境的 Jupyter Notebook 中運行以下命令:

!pipinstallpandasai

其次,用以下代碼,引入智能數據框 SmartDataframe:

from pandasai import SmartDataframe

接下來(lái),為了方便演示 PandasAI 的功能,我們模擬生成一些數據:

import numpy as np

import pandas as pd

from faker import Faker

# 創(chuàng )建數據生成器

fake = Faker(‘zh_CN’)

# 設置隨機種子以確??芍貜偷慕Y果

np.random.seed(0)

fake.random.seed(0)

# 生成數據集

data = {

‘客戶(hù)姓名’: [fake.name for _ in range(100)],

‘性別’: [fake.random.choice([‘男’, ‘女’]) for _ in range(100)],

‘年齡’: np.random.randint(18, 70, size=100),

‘所在省份’: [fake.province for _ in range(100)],

‘最近購買(mǎi)時(shí)間’: [fake.date_between(start_date=’-2y’, end_date=’today’) for _ in range(100)],

‘累計購買(mǎi)次數’: np.random.randint(1, 20, size=100),

‘累計購買(mǎi)金額’: np.random.normal(loc=1000, scale=500, size=100)

# 累計購買(mǎi)金額與累計購買(mǎi)次數的合理比例

data[“累計購買(mǎi)金額”] = [round(times * np.random.uniform(500, 800), 2) for times in data[“累計購買(mǎi)次數”]]

# 創(chuàng )建 DataFrame

df = pd.DataFrame(data)

你可以把數據替換為自己的數據,比如從 Excel 文件或數據庫中讀取數據。

然后,你可以開(kāi)始調用大模型來(lái)分析數據。PandasAI 默認使用的大語(yǔ)言模型是 BambooLLM,你可以在 密鑰,并復制到下面的代碼中。

import os

os.environ[‘PANDASAI_API_KEY’] = “把你的 API 密鑰復制到這里”

sdf = SmartDataframe(df)

現在,你就可以用自然語(yǔ)言與 PandasAI 進(jìn)行對話(huà)式的數據分析,例如:

你還可以用下面的命令,把 PandasAI 最近執行的代碼顯示出來(lái),確認它不是胡說(shuō)八道,而是經(jīng)過(guò)嚴格的數學(xué)計算。

print(sdf.last_code_generated)

需要注意的是:大模型生成的分析結果,雖然可以提供有價(jià)值的參考,但并非 100% 準確可靠。在實(shí)際應用中,我們需要加強驗證,并對最終的結果負責。

你還可以讓 PandasAI 幫你繪制圖表,例如:sdf.chat(“請用直方圖展示客戶(hù)年齡分布”)因為中文字體的原因,此時(shí)系統可能會(huì )報錯。你可以把系統報錯的信息發(fā)給 AI,例如:

參考 AI 提供的方法,稍微修改一下提示詞:

sdf.chat(“請用直方圖展示客戶(hù)年齡分布,

并用 plt.rcParams[‘font.sans-serif’] = [‘SimHei’] 來(lái)正常顯示中文標簽”)

重新運行之后,正常情況下就能得到一張圖表如下:

你甚至可以提出一些額外的要求,例如:

sdf.chat(“請用直方圖展示客戶(hù)年齡分布,

并用 plt.rcParams[‘font.sans-serif’] = [‘SimHei’] 來(lái)正常顯示中文標簽,

上面的標題用 16 號字體?!?

運行結果如下:

最后,你還可以按照自己的想法,提出自己的要求,只要你的意思表達清晰明確,PandasAI 通常都會(huì )給你相應的回答。例如:

sdf.chat(“請對數據繪制相關(guān)性矩陣圖,

并用 plt.rcParams[‘font.sans-serif’] = [‘SimHei’] 來(lái)正常顯示中文標簽”)

運行結果如下:

總之,PandasAI 能夠從日常對話(huà)中,智能識別用戶(hù)的意圖,并生成相應的數據分析結果,幫助我們更加高效地處理和分析數據。

本文由人人都是產(chǎn)品經(jīng)理作者【林驥】,*:【林驥】,原創(chuàng )/授權 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉載。

題圖來(lái)自Unsplash,基于 CC0 協(xié)議。

收藏0

發(fā)表評論

訪(fǎng)客

看不清,換一張

◎歡迎參與討論,請在這里發(fā)表您的看法和觀(guān)點(diǎn)。
中文字幕在线永久91_国产一级AV不卡毛片_亚洲日本中文字幕在线四区_日韩黄片在线大全