Python/ target=_blank class=infotextkey>Python Pandas是一個為Python編程提供數據操作和分析功能的開源工具包。這個庫已經成為數據科學家和分析師的必備工具。它提供了一種有效的方法來管理結構化數據(Series和DataFrame)。
在人工智能領域,Pandas經常用于機器學習和深度學習過程的預處理步驟。Pandas通過提供數據清理、重塑、合并和聚合,可以將原始數據集轉換為結構化的、隨時可用的2維表格,并將其輸入人工智能算法。
pandas-ai介紹
PandasAI將Pandas轉換為一個會話工具,你可以詢問有關數據的問題,它則會以Pandas dataframe的形式進行回答。
例如,我們可以要求PandasAI返回一個DataFrame中列值大于5的所有行,它將返回一個只包含這些行的DataFrame。
import pandas as pd
from pandasai import PandasAI
# Sample DataFrame
df = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"gdp": [21400000, 2940000, 2830000, 3870000, 2160000, 1350000, 1780000, 1320000, 516000, 14000000],
"hAppiness_index": [7.3, 7.2, 6.5, 7.0, 6.0, 6.3, 7.3, 7.3, 5.9, 5.0]
})
# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI()
pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
除了返回結果以外,還可以生成圖表:
pandas_ai.run(
df,
"Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)
安裝和使用
只要使用pip安裝就可以使用:
pip install pandasai
但是在使用pandasai時需要輸入一個openai的api-key,這樣才可以讓他調用openai的語言模型:
然后在使用前先import,在輸入api的key就可以使用了:
#Import pandas and pandas-ai
import pandas as pd
from pandasai import PandasAI
# Instantiating my llm using OpenAI API key.
from pandasai.llm.openai import OpenAI
# OpenAI
llm = OpenAI(api_token="YOUR_OPENAI_API_KEY")
因為pandas的特性,我們不僅僅可以處理csv文件,我們還可以連接關系型的數據庫,例如pgsql:
# creating the uri and connecting to database
pg_conn = "postgresql://YOUR URI HERE"
#Query sql database
query = """
SELECT *
FROM table_name
"""
#Create dataframe named df
df = pd.read_sql(query,pg_conn)
然后像上面代碼一樣,我們可以直接與它進行對話了:
# Using pandas-ai!
pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Place your prompt here)
最后
ChatGPT、Pandas是強大的工具,當它們結合在一起時,可以徹底改變我們與數據交互和分析的方式。ChatGPT憑借其先進的自然語言處理能力,可以更直觀地與數據進行類似人類的交互。而PandasAI可以增強Pandas數據分析體驗。通過將復雜的數據操作任務轉換為簡單的自然語言查詢,PandasAI使用戶更容易從數據中提取有價值的見解,而無需編寫大量代碼。
這對于那些還不熟悉Python或pandas操作/轉換的人來說是一種編程的新方法。我們不需要為你想要執行的任務編程,而是只是與AI代理交談,明確的額告訴它想要的結果,代理會將此消息轉換為計算機可解釋的代碼,并返回結果。