當前位置:
首頁 > 最新 > pandasql:讓 python 運行 SQL

pandasql:讓 python 運行 SQL

pandasql:讓 python 運行 SQL 由 Yhat 2016 年 10 月 11 日 本文鏈接:http://blog.yhat.com/posts/pandasql-intro.html

介紹

關於 Python 的最喜歡的一件事是使用者獲得觀察 R 社區的好處,然後模擬其最好的部分。我相信一種語言和它的庫和工具一樣有用。

這篇文章是關於pandasql,Yhat 寫的一個模擬 R 包 sqldf 的Python 庫。這是一個小而強大的庫,只有358行代碼。pandasql 的想法是讓 Python 運行 SQL。對於那些來自 SQL 背景或仍然「使用 SQL 思考」的人來說,pandasql是一種利用兩種語言優勢的好方式。

在本介紹中,將在為數據探索和分析構建的集成開發環境(IDE) Rodeo 中用 pandasql 開始運行。Rodeo 是一個開源、完全免費的工具。如果你是 R 使用者,那麼它與 RStudio 具有類似感覺的工具。到目前為止,Rodeo 只能運行 Python 代碼,但上周我們添加一些其他語言的語法高亮到編輯器(markdown,JSON,julia,SQL,markdown)。你可能已經閱讀或猜到了,我們對 Rodeo 有很大的計劃,包括添加 SQL 支持,以便你可以在 Rodeo 內運行 SQL 查詢,即使沒有我們的方便pandasql。更多的是在下一兩周內!

下載 Rodeo

首先從 Yhat 網站上的 Rodeo 頁面下載 Rodeo for Mac,Windows 或 Linux。

ps:如果你下載 Rodeo 並遇到問題或只是有疑問,我們會全天候監控我們的討論論壇24/7。

如果你好奇,一點背景

安裝 pandasql

pandasql 使用 Rodeo 中的軟體包管理器進行安裝。只需搜索 pandasql 並單擊安裝包。

如果你喜歡安裝這種方式,也可以從文本編輯器運行 ! pip install pandasql。

查看數據集

pandasql 有兩個內置的數據集,將用於下面的例子。

meat:數據集來自美國農業部,包含有關牲畜,乳製品和家禽前景和生產的指標 births:數據集來自聯合國統計司,包含按月計算的活產嬰兒人口統計 運行以下代碼查看數據集。

奇數圖

請注意,繪圖將顯示在控制台和繪圖選項卡(右下角的選項卡)中。

提示:可以通過單擊窗格頂部的箭頭「彈出」你的繪圖。如果你正在使用多個顯示器,並希望對於數據可視化,專註於其中一個屏幕,那麼這是非常方便的。

用法

為了使這篇文章簡潔易讀,我們剛剛給出了代碼片段和下面大部分查詢的幾行結果。

如果你在 Rodeo 中跟隨著,開始時候有會一些提示:

Run Script 確實會運行在文本編輯器中編寫的所有內容

你可以高亮顯示代碼塊,並通過單擊 Run Line 或按 Command + Enter 運行它

你可以調整窗格大小(當我沒有繪製圖時,我縮小了右下角的窗格)

基礎

寫一些 SQL,通過代替 DataFrames 錶針對 pandas DataFrame,並執行它。

pandasql 創建資料庫、架構、載入數據、並運行你的 SQL。

聚合

pandasql 支持聚合。可以在 group by 子句中使用別名列名或列號。

locals() 與 globals()

pandasql 需要在會話/環境中訪問其他變數。雖然當執行 SQL 語句時,可以傳遞 locals() 給 pandasql,但是如果你運行了大量可能麻煩的查詢。為了避免一直傳遞給 locals,你可以將這個幫助函數添加到腳本中,來其設置 globals() 如下:

聯結

你可以使用正常的 SQL 語法聯結 dataframes。

WHERE 條件

這是一個 WHERE 字句。

這只是SQL

由於 pandasql 由 SQLite3 提供支持,你可以用 SQL 中執行大部分任務。以下是使用常見 SQL 功能(例如子查詢,排序分組,函數和聯合)的一些示例。

最後的想法

pandas 是一個難以置信的數據分析工具,因為它非常易於理解、簡潔明了、易表達。最終,有足夠充分的理由來學習的 merge,join,concatenate,melt 的細微差別和其他 pandas 特色的切片和切塊數據。查看文檔的一些例子。 我們希望這 pandasql 對於 Python 和 pandas 新手將是一個有用的學習工具。在我自己學習 R 的個人經驗中,sqldf 是一個熟悉的界面,可以幫助我儘快使用新工具來提高生產力。

我們希望你能檢查 pandasql 和 Rodeo;如果你這樣做,請告訴我們你的想法!

更多課程和文章盡在微信號

「datartisan數據工匠」

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Datartisan數據工匠 的精彩文章:

TAG:Datartisan數據工匠 |