自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)

發(fā)布于 2025-3-17 07:20
瀏覽
0收藏

在數(shù)據(jù)科學(xué)領(lǐng)域,Pandas 一直是數(shù)據(jù)科學(xué)家和分析師的得力工具,它開(kāi)源且能提供便捷高效的數(shù)據(jù)操作與分析功能,可以輕松應(yīng)對(duì)各種復(fù)雜的數(shù)據(jù)處理任務(wù),堪稱數(shù)據(jù)處理界的 “瑞士軍刀”。

如今,一款名為 Pandas AI 的全新 Python 庫(kù)誕生,為數(shù)據(jù)處理帶來(lái)新的思路與方式。 Pandas AI 巧妙地將生成式人工智能融入 Pandas,把傳統(tǒng)的數(shù)據(jù)框操作升級(jí)為對(duì)話式交互。借助大語(yǔ)言模型,用戶能和數(shù)據(jù) “對(duì)話” 并獲得結(jié)構(gòu)化回復(fù),即使不懂編程也能處理數(shù)據(jù)。

Pandas AI 不是要替代 Pandas,而是增強(qiáng)其功能,幫數(shù)據(jù)從業(yè)者探索新方法、簡(jiǎn)化數(shù)據(jù)準(zhǔn)備,節(jié)省時(shí)間精力。

本文介紹 Pandas 的 10 個(gè)常見(jiàn)數(shù)據(jù)處理任務(wù),看看 Pandas AI 如何把編碼操作變?yōu)閷?duì)話交互。

準(zhǔn)備工作 

在開(kāi)始Pandas任務(wù)之前,讓我們先編寫(xiě)必要的代碼來(lái)運(yùn)行整個(gè)Python程序。

  • 安裝包:復(fù)制并運(yùn)行!pip install pandas pandasai
  • 導(dǎo)入模塊:由于PandasAI內(nèi)部調(diào)用Pandas進(jìn)行數(shù)據(jù)處理,調(diào)用OpenAI進(jìn)行人工智能生成,所以必須導(dǎo)入pandas和pandasai.llm.openai。

import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
  • 加載OpenAI大語(yǔ)言模型

OPENAI_API_KEY = "{你的API密鑰}"
llm = OpenAI(api_token=OPENAI_API_KEY)
  • 創(chuàng)建數(shù)據(jù)框:在以下演示中,創(chuàng)建了一個(gè)包含虛構(gòu)員工信息的數(shù)據(jù)框df,信息包括姓名、年齡、性別、職業(yè)和薪資。

data = [
    [1, "約翰·多伊", 30, "男", "軟件工程師", 100000],
    [2, "簡(jiǎn)·史密斯", 28, "女", "數(shù)據(jù)科學(xué)家", 95000],
    [3, "邁克·約翰遜", 35, "男", "產(chǎn)品經(jīng)理", 120000],
    [4, "艾米麗·戴維斯", 32, "女", "軟件工程師", 105000],
    [5, "亞歷克斯·威爾遜", 29, "男", "數(shù)據(jù)科學(xué)家", 90000],
    [6, "莎拉·湯普森", 33, "女", "產(chǎn)品經(jīng)理", 115000],
    [7, "大衛(wèi)·李", 31, "男", "軟件工程師", 102000],
    [8, "艾瑪·布朗", 27, "女", "數(shù)據(jù)科學(xué)家", 92000],
    [9, "杰森·安德森", 34, "男", "產(chǎn)品經(jīng)理", 118000],
    [10, "索菲·安德森", 30, "女", "數(shù)據(jù)科學(xué)家", 97000],
    [11, "艾米麗·米勒", 29, "女", "業(yè)務(wù)分析師", 85000],
    [12, "艾拉·泰勒", 31, "女", "用戶體驗(yàn)設(shè)計(jì)師", 95000],
    [13, "珍妮·威爾遜", 27, "女", "市場(chǎng)經(jīng)理", 110000],
    [14, "亞當(dāng)·亞當(dāng)斯", 33, "男", "項(xiàng)目經(jīng)理", 105000],
    [15, "雅各布·戴維斯", 30, "男", "業(yè)務(wù)分析師", 88000],
    [16, "艾娃·托馬斯", 28, "女", "用戶體驗(yàn)設(shè)計(jì)師", 98000],
    [17, "本杰明·懷特", 34, "男", "市場(chǎng)經(jīng)理", 115000],
    [18, "米婭·安德森", 32, "女", "項(xiàng)目經(jīng)理",  ],
    [19, "洛根·泰勒", 29, "男", "業(yè)務(wù)分析師", 90000],
    [20, "杰克·威爾遜", 31, "男", "用戶體驗(yàn)設(shè)計(jì)師", 102000],
    [12, "艾拉·泰勒", 31, "女", "用戶體驗(yàn)設(shè)計(jì)師", 95000]
]
# 根據(jù)數(shù)據(jù)創(chuàng)建DataFrame
df = pd.DataFrame(data, columns=["id", "name", "age", "gender", "occupation", "salary"])
  • 創(chuàng)建PandasAI對(duì)象

pandas_ai = PandasAI(llm)

下面使用Pandas AI進(jìn)行編碼吧。

1.數(shù)據(jù)選擇 

Pandas中的數(shù)據(jù)選擇是指根據(jù)特定條件或標(biāo)準(zhǔn),從數(shù)據(jù)框中選擇特定的行和列。在這個(gè)例子中,我們想要一個(gè)只包含30歲以下人員的數(shù)據(jù)框。

# 提示
df1 = pandas_ai.run(df, prompt='''
給我一個(gè)包含 30 歲以下人員信息的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

2.數(shù)據(jù)排序 

Pandas中的數(shù)據(jù)排序是指根據(jù)一個(gè)或多個(gè)列中的值,按升序或降序排列數(shù)據(jù)框中的數(shù)據(jù)。在這個(gè)例子中,要一個(gè)按薪資升序排列的數(shù)據(jù)框。

# 提示
df2 = pandas_ai.run(df, prompt='''
給我一個(gè)按薪資升序排列的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

3.數(shù)據(jù)聚合 

Pandas中的數(shù)據(jù)聚合是指對(duì)數(shù)據(jù)框中的數(shù)據(jù)進(jìn)行分組和匯總的過(guò)程,以便深入了解數(shù)據(jù)并得出有意義的結(jié)論。在這個(gè)例子中,要一個(gè)按職業(yè)提供平均薪資的數(shù)據(jù)框。

# 提示
df3 = pandas_ai.run(df, prompt='''
給我一個(gè)按職業(yè)分組并提供平均薪資的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

4.數(shù)據(jù)重塑 

Pandas中的數(shù)據(jù)重塑是指改變數(shù)據(jù)框的布局,使其更適合分析需求,例如通過(guò)透視、堆疊或融合數(shù)據(jù)來(lái)創(chuàng)建新的結(jié)構(gòu)。在這個(gè)例子中,我們想要一個(gè)條形圖,它反映一個(gè)透視表,以查看每個(gè)職業(yè)中的性別差異。

# 提示
df4 = pandas_ai.run(df, prompt='''
繪制一個(gè)透視表的柱狀圖,該透視表展示不同職業(yè)和性別的人員數(shù)量
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

5.數(shù)據(jù)清洗 

Pandas中的數(shù)據(jù)清洗是指通過(guò)檢測(cè)和處理缺失、重復(fù)或錯(cuò)誤的數(shù)據(jù),對(duì)數(shù)據(jù)框進(jìn)行預(yù)處理,使其適合分析。在這個(gè)例子中,希望Pandas AI自動(dòng)填充“米婭·安德森”缺失的薪資數(shù)據(jù),并刪除“艾拉·泰勒”的重復(fù)行。

# 提示
給我一個(gè)滿足以下條件的數(shù)據(jù)框:
1) 填充缺失數(shù)據(jù)
2) 刪除重復(fù)行
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

6.數(shù)據(jù)合并 

Pandas中的數(shù)據(jù)合并是指根據(jù)一個(gè)或多個(gè)共同列,將兩個(gè)或多個(gè)數(shù)據(jù)框合并為一個(gè)數(shù)據(jù)框。在這個(gè)例子中,將另外5個(gè)人的信息添加到原始數(shù)據(jù)框中。

# 另一個(gè)數(shù)據(jù)集
data2 = [
    [1, "索菲婭·布朗", "女",  28, "數(shù)據(jù)科學(xué)家", 93000],
    [2, "簡(jiǎn)·史密斯", 28, "女", "數(shù)據(jù)科學(xué)家", 95000],
    [3, "米歇爾·陳", 30, "女", "軟件工程師", 100500],
    [4, "邁克爾·約翰遜", 35, "男", "產(chǎn)品經(jīng)理", 120000],
    [5, "奧利維亞·威爾遜", 29, "女", "數(shù)據(jù)科學(xué)家", 90000]
]
df2 = pd.DataFrame(data2, columns=["id", "name", "age", "gender", "occupation", "salary"])
# 提示
pandas_ai.run([df,df2], prompt='''
給我一個(gè)合并了所有行的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

7.數(shù)據(jù)轉(zhuǎn)換 

Pandas中的數(shù)據(jù)轉(zhuǎn)換是指對(duì)數(shù)據(jù)框的結(jié)構(gòu)或內(nèi)容進(jìn)行操作和更改,使其更適合分析,或從數(shù)據(jù)中獲取有價(jià)值的信息。在這個(gè)例子中,想將所有數(shù)據(jù)科學(xué)家的薪資翻倍。

# 提示
df7 = pandas_ai.run(df, prompt='''
給我一個(gè)將所有數(shù)據(jù)科學(xué)家的薪資翻倍后的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

8.數(shù)據(jù)描述 

Pandas 中的 describe() 方法可通過(guò)計(jì)算各種統(tǒng)計(jì)量(如計(jì)數(shù)、均值、標(biāo)準(zhǔn)差、最小值和最大值),對(duì)數(shù)據(jù)框分布的集中趨勢(shì)、離散程度和形態(tài)進(jìn)行總結(jié)。

提示代碼:

df8 = pandas_ai.run(df, prompt='''
用Pandas描述這個(gè)數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI 的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

9.數(shù)據(jù)歸一化 

Pandas 中的數(shù)據(jù)歸一化是將數(shù)值數(shù)據(jù)縮放到一個(gè)共同范圍(如 0 到 1 之間)的過(guò)程,這樣可以消除偏差,使數(shù)據(jù)更具可比性,便于分析。

在這種情況下,想通過(guò)減去均值并除以標(biāo)準(zhǔn)差的方式對(duì)薪資數(shù)據(jù)進(jìn)行歸一化處理。

提示代碼:

pandas_ai.run(df, prompt='''
給我一個(gè)通過(guò)減去均值并除以標(biāo)準(zhǔn)差來(lái)對(duì)每一個(gè)薪資數(shù)據(jù)進(jìn)行歸一化處理后的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI 的回復(fù):

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

10.時(shí)間序列分析 

Pandas 中的時(shí)間序列分析涉及對(duì)按時(shí)間索引的數(shù)據(jù)(如每日股票價(jià)格或每小時(shí)天氣數(shù)據(jù))進(jìn)行分析,以識(shí)別模式和趨勢(shì),并根據(jù)歷史數(shù)據(jù)進(jìn)行預(yù)測(cè)。

在這種情況下,創(chuàng)建了另一個(gè)虛擬數(shù)據(jù)集,列出了 100 天的隨機(jī)數(shù)據(jù)。Pandas AI 的任務(wù)是使用均值函數(shù)將數(shù)據(jù)從按天采樣重采樣為按周采樣。

原始數(shù)據(jù)集:

import numpy as np
df_t = pd.DataFrame({'Date': pd.date_range('2023-03-07', periods=100), 'Open': np.random.randn(100)})

數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū)

提示代碼:

pandas_ai.run(df_t, prompt='''
將這個(gè)數(shù)據(jù)框按周頻率進(jìn)行重采樣,并計(jì)算均值
''', is_conversational_answer=False)

Pandas AI 的回復(fù):

? 數(shù)據(jù)分析神器PandasAI,幫你高效處理十項(xiàng)常見(jiàn)任務(wù)-AI.x社區(qū) 圖片 ?

本文轉(zhuǎn)載自??AI科技論談??,作者:AI科技論談


標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦