在pandas中使用sql

2021-07-11 20:07:58 字數 1000 閱讀 8436

from pandasql import sqldf

# 查詢記憶體中的pandas資料框

pysqldf = lambda q: sqldf(q, globals())

# 匯入模組,自帶資料,尋找pandas資料框

from pandasql import sqldf, load_meat, load_births

pysqldf = lambda q: sqldf(q, globals())

meat = load_meat()

births = load_births()

pysqldf("select * from meat limit 10;").head()

# 表關聯

q = """select m.date, m.beef, b.births from meats m inner join births b on m.date = b.date;"""

joined = pyqldf(q)

joined.head()

# 分組計算

q = "select strftime('%y', date) as year , sum(beef) as beef_total from meat group by year;"

pysqldf(q).head()

如果需要在函式內使用sql,在需要定義全域性變數

def

my_sql

(df):

"""在自定義函式內使用sql"""

global g_df

g_df = df # 將區域性變數傳給全域性變數,因為pysqldf找不到函式內的區域性變數

sql = "select * from g_df limit 10"

new_df = pysqldf(sql)

return new_df

pandasql的官方部落格是:

在Sql中使用Try Catch

原文 在sql中使用try catch 今天在寫sql中出現了!我想在sql使用trycatch吧 哎.但是語法又記不住了 那就清楚我們的google大師吧 嘿,網上關於在sql中使用try catch的還有真不少的文章 閒話就少了 今天記錄下來以便下次使時查閱!建立錯誤日誌表 create tab...

在Axapta中使用標準SQL

雖然axapta當中的sql statement提供了強大的功能,但是由於與整體的功能設計有衝突 如table可以作為變數 axapta省去了一些標準的sql關鍵字,如union,distinct等。那麼我們想使用的話,那怎麼辦呢?我們可以利用statement這個類在axapta中執行標準的sql...

在SQLMAP中使用動態SQL

最近有幾個同事和朋友詢問如何在sqlmap中 拼接字串 因為有時候條件的數量不固定,條件引數型別也不固定,無法寫出 引數名 這樣的sql語句,也就是大家常說的 動態sql 問題。pdf.net資料開發框架在1.0版本就支援這個功能了,而且在sqlmap說明裡面也寫了,但就是沒有人看 這裡舉乙個實際的...