偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

本文介紹 Pandas 的 10 個常見數(shù)據(jù)處理任務,看看 Pandas AI 如何把編碼操作變?yōu)閷υ捊换ァ?/p>

準備工作 

在開始Pandas任務之前,讓我們先編寫必要的代碼來運行整個Python程序。

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

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

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

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

pandas_ai = PandasAI(llm)

下面使用Pandas AI進行編碼吧。

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

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

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

Pandas AI的回復:

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

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

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

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

Pandas AI的回復:

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

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

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

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

Pandas AI的回復:

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

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

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

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

Pandas AI的回復:

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

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

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

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

Pandas AI的回復:

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

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

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

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

Pandas AI的回復:

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

7.數(shù)據(jù)轉換 

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

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

Pandas AI的回復:

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

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

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

提示代碼:

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

Pandas AI 的回復:

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

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

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

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

提示代碼:

pandas_ai.run(df, prompt='''
給我一個通過減去均值并除以標準差來對每一個薪資數(shù)據(jù)進行歸一化處理后的數(shù)據(jù)框
''', is_conversational_answer=False)

Pandas AI 的回復:

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

10.時間序列分析 

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

在這種情況下,創(chuàng)建了另一個虛擬數(shù)據(jù)集,列出了 100 天的隨機數(shù)據(jù)。Pandas AI 的任務是使用均值函數(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,幫你高效處理十項常見任務-AI.x社區(qū)

提示代碼:

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

Pandas AI 的回復:

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

本文轉載自??AI科技論談??,作者:AI科技論談


收藏
回復
舉報
回復
相關推薦