1. 程式人生 > >python執行各種sql語句,讓你分析資料更簡潔

python執行各種sql語句,讓你分析資料更簡潔

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

由於許多潛在的pandas使用者對SQL有一定的了             解 ,因此本頁旨在提供一些使用pandas來執行各種SQL操作的示例。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

大部分的例子將利用tips在pandas測試中發現資料集。我們將資料讀入一個名為tips的DataFrame,並假設我們有一個同名和結構的資料庫表。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

一、SELECT

在SQL中,選擇是使用逗號分隔的列表來選擇(或者* 選擇所有列):

640?wx_fmt=png&wxfrom=5&wx_lazy=1

在pandas中,列的選擇是通過傳遞列名到您的DataFrame:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

呼叫沒有列名稱列表的DataFrame將顯示所有列(類似於SQL的 *)。

二、WHERE

SQL中的過濾是通過WHERE子句完成的。

0?wx_fmt=png

資料框dataframe可以通過多種方式進行過濾; 

最直觀的是使用 布林索引

0?wx_fmt=png

上面的語句只是將一個SeriesTrue / False物件傳遞給DataFrame,所有行都返回True。

0?wx_fmt=png

就像SQL的OR和AND一樣,可以使用|將多個條件傳遞給DataFrame (OR)和&(AND)。

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

0?wx_fmt=png

NULL檢查使用notna()isna() 方法完成。

0?wx_fmt=png

假設我們有一個與上面的DataFrame結構相同的表。我們只能看到col2 IS NULL 的記錄與下面的查詢:

0?wx_fmt=png

0?wx_fmt=png

獲取col1不是NULL的專案可以完成notna()

0?wx_fmt=png

0?wx_fmt=png

今日贈言

生活中的各種喧囂會容易讓人疲乏,抽出一點時間留給自己吧。做你喜歡的事情,想你開心的事情,然後微笑面對今天。

推薦閱讀:

機器學習篇

python學習篇


參考:http://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html