成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用Python執行常見的Excel和SQL任務

開發 后端
由于其多功能性,Python 可以成為任何數據分析師工具箱的重要組成部分。但是,這很難開始。大多數數據分析師可能熟悉 SQL 或 Excel。本教程是涉及幫助你將技能和技術從 EXcel 和 SQL 轉移到 Python。

[[197522]]

本教程的代碼和數據可在 Github 資源庫 中找到。有關如何使用 Github 的更多信息,請參閱本指南。

數據從業者有許多工具可用于分割數據。有些人使用 Excel,有些人使用SQL,有些人使用Python。對于某些任務,使用 Python 的優點是顯而易見的。以更快的速度處理更大的數據集。使用基于 Python 構建的開源機器學習庫。你可以輕松導入和導出不同格式的數據。

由于其多功能性,Python 可以成為任何數據分析師工具箱的重要組成部分。但是,這很難開始。大多數數據分析師可能熟悉 SQL 或 Excel。本教程是涉及幫助你將技能和技術從 EXcel 和 SQL 轉移到 Python。

首先,讓我們來設置 Python。最簡單的方法就是使用 Jupyter Notebook 和 Anaconda。這個可視化界面將允許你插入 Python 代碼并立即查看輸出。這也將使你輕松跟隨本教程的其余部分。

我強烈推薦使用 Anaconda,但這個初學者指南也將幫助你安裝 Python — 盡管這將使本教程更加難以接受。

我們從基礎開始:打開一個數據集。

導入數據

你可以導入.sql 數據庫并用 SQL 查詢中處理它們。在Excel中,你可以雙擊一個文件,然后在電子表格模式下開始處理它。在 Python 中,有更多復雜的特性,得益于能夠處理許多不同類型的文件格式和數據源的。

使用一個數據處理庫 Pandas,你可以使用 read 方法導入各種文件格式。,使用這個方法所能導入完整的文件格式清單是在 Pandas 文檔中。你可以導入從 CSV 和 Excel 文件到 HTML 文件中的所有內容!

使用 Python 的***優點之一是能夠從網絡的巨大范圍中獲取數據的能力,而不是只能訪問手動下載的文件。在 Python 的 requests 庫可以幫助你分類不同的網站,并從它們獲取數據,而 BeautifulSoup 庫可以幫助你處理和過濾數據,那么你精確得到你所需要的。如果你要去這條路線,請小心使用權問題。

(不用擔心,如果你想跳過這個部分,可以的!原始的 csv 文件在這里,你可以隨意下載,如果你寧愿開始這個練習而不從網絡上獲取數據,或者你可以 git](https://rogerdudler.github.io/git-guide/) clone 整個存儲庫。)

在這個例子中,我們將獲取許多國家人均 GDP(一個技術術語,意思是一個國家的人均收入)的維基百科表格,并在 Python 中使用 Pandas 庫對數據進行排序。

首先,導入我們需要的庫。有關 Python 中如何 import 的更多信息,請點擊此處。

 

需要 Pandas 庫處理我們的數據。需要 numpy 庫來執行數值的操作和轉換。我們需要 requests 庫來從網站獲取 HTML 數據。需要 BeautifulSoup 來處理這些數據。***,需要 Python(re)的正則表達式庫來更改在處理數據時將出現的某些字符串。

在 Python 中,不需要知道很多關于正則表達式的知識,但它們是一個強大的工具,可用于匹配和替換某些字符串或子字符串。如果你想了解更多,請參考以下教程。

 

信任這個網站的一些代碼。

這是一個更具技術性的解釋,詳細說明如何使用 Python 代碼來獲取 HTML 表格。

你可以將上面的代碼復制粘貼到你自己的 Anaconda 中,如果你用一些 Python 代碼運行,可以迭代它!

下面是代碼的輸出,如果你不修改它,就是所謂的字典。

 

你會注意到逗號分隔起來的括號的 key-value 列表。每個括號內的列表都代表了我們 dataframe 中的一行,每列都以 key 表示:我們正在處理一個國家的排名,人均 GDP(以美元表示)及其名稱(用「國家」)。

有關數據結構,如列表和詞典,如何在 Python 中的運行的更多信息,本教程將有所幫助。

幸運的是,為了將數據移動到 Pandas dataframe 中,我們不需要理解這些數據,這是將數據聚合到 SQL 表或 Excel 電子表格的類似方式。使用一行代碼,我們已經將這些數據分配并保存到 Pandas dataframe 中 – 事實證明是這種情況,字典是要轉換為 dataframe 的***數據格式。

 

通過這個簡單的 Python 賦值給變量 gdp,我們現在有了一個 dataframe,可以在我們編寫 gdp 的時候打開和瀏覽。我們可以為該詞添加 Python 方法,以創建其中的數據的策略視圖。作為我們剛剛在 Python 中使用等號和賦值的一點深入了解,教程很有幫助。

快速查看數據

現在,如果要快速查看我們所做的工作,我們可以使用 head() 方法,它與 Excel 中的選擇幾行或SQL中的 LIMIT 方法非常相似。輕松地使用它來快速查看數據集,而無需加載整個數據集!如果要查看特定數量的行,還可以在 head() 方法中插入行數。

 

 

我們得到的輸出是人均 GDP 數據集的前五行(head 方法的默認值),我們可以看到它們整齊地排列成三列以及索引列。請注意,Python 索引從0開始,而不是1,這樣,如果要調用 dataframe 中的***個值,則使用0而不是1!你可以通過在圓括號內添加你選擇的數字來更改顯示的行數。試試看!

重命名列

有一件你在 Python 中很快意識到的事是,具有某些特殊字符(例如$)的名稱處理可能變得非常麻煩。我們將要重命名某些列,在 Excel 中,可以通過單擊列名稱并鍵入新名稱,在SQL中,你可以執行 ALTER TABLE 語句或使用 SQL Server 中的 sp_rename。

在 Pandas 中,這樣做的方式是rename 方法。

 

在實現上述方法時,我們將使用列標題 「gdp_per_capita」 替換列標題「US $」。一個快速的 .head() 方法調用確認已經更改。

 

刪除列

有一些數據損壞!如果你查看 Rank 列,你會注意到散亂的隨機破折號。這不是很好,由于實際的數字順序被破壞,這使得 Rank 列無用,特別是使用 Pandas 默認提供的編號索引。

幸運的是,使用內置的 Python 方法:del,刪除列變得很容易。

 

現在,通過另外調用 head 方法,我們可以確認 dataframe 不再包含 rank 列。

 

在列中轉換數據類型

有時,給定的數據類型很難使用。這個方便的教程將分解 Python 中不同數據類型之間的差異,以便你需要復習。

在 Excel 中,你可以右鍵單擊并找到將列數據轉換為不同類型的數據的方法。你可以復制一組由公式呈現的單元格,并將其粘貼為值,你可以使用格式選項快速切換數字,日期和字符串。

有時候,在 Python 中切換一種數據類型為其他數據類型并不容易,但當然有可能。

我們首先在 Python 中使用 re 庫。我們將使用正則表達式來替換 gdp_per_capita 列中的逗號,以便我們可以更容易地使用該列。 

 

re.sub 方法本質上是使用空格替換逗號。以下教程詳細介紹了 re庫 的各個方法。

現在我們已經刪除了逗號,我們可以輕易地將列轉換為數字。

 

現在我們可以計算這列的平均值。

 

我們可以看到,人均 GDP 的平均值約為13037.27美元,如果這列被判斷為字符串(不能執行算術運算),我們就無法做到這一點。現在,可以對我們以前不能做的人均 GDP 列進行各種計算,包括通過不同的值過濾列,并確定列的百分位數值。

選擇/過濾數據

任何數據分析師的基本需求是將大型數據集分割成有價值的結果。為了做到這一點,你必須檢查一部分數據:這對選擇和過濾數據是非常有幫助的。在 SQL 中,這是通過混合使用 SELECT 和不同的其他函數實現的,而在 Excel 中,可以通過拖放數據和執行過濾器來實現。

你可以使用 Pandas 庫不同的方法或查詢快速過濾。

作為一個快速的代表,只顯示人均 GDP 高于 5 萬美元的國家。

這是這樣做到的:

 

我們為一個新的 dataframe 分配一個布爾索引的過濾器,這個方法基本上就是說「創建一個人均 GDP 超過 50000 的新 dataframe」。現在我們可以顯示gdp50000。

 

有12個國家的 GDP 超過 50000!

選擇屬于以 s 開頭的國家的行。

現在可以顯示一個新 dataframe,其中只包含以 s 開頭的國家。使用 len 方法快速檢查(一個用于計算 dataframe 中的行數的救星!)表示我們有 25 個國家符合。

  

 

要是我們想把這兩個過濾條件連在一起呢?

這里是連接過濾的方法。在多個過濾條件之前,你想要了解它的工作原理。你還需要了解 Python 中的基本操作符。為了這個練習的目的,你只需要知道「&」代表 AND,而「|」代表 Python 中的 OR。然而,通過更深入地了解所有基礎運算符,你可以用各種條件輕松地處理的數據。

讓我們繼續工作,并在過濾選擇以「S」開頭且有大于 50,000 人均 GDP 的國家。

  

 

現在過濾以「S」開頭 或人均 GDP 超過 50000 的國家。

 

我們正在努力處理 Pandas 中的過濾視圖。

用計算機來處理數據

沒有可以幫助計算不同的結果的方法,那么 Excel 會變成什么?

在這種情況下,Pandas 大量依賴于 numpy 庫和通用 Python 語法將計算放在一起。對我們一直在研究的 GDP 數據集進行一系列簡單的計算。例如,計算人均國民生產總值超過 5 萬的總和。

 

 

這將給你答案為 770046 。使用相同的邏輯,我們可以計算各種的值 — 完整列表位于左側菜單欄下的計算/描述性統計部分的 Pandas 文檔。

數據可視化(圖表/圖形)

數據可視化是一個非常強大的工具 – 它允許你以可理解的格式與其他人分享你獲得的見解。畢竟,一張照片值得一千字。SQL 和 Excel 都具有將查詢轉換為圖表和圖形的功能。使用 seaborn 和 matplotlib 庫,你可以使用 Python 執行相同操作。

有關數據可視化選項的綜合的教程 – 我最喜歡的是這個 Github readme document (全部在文本中),它解釋了如何在 Seaborn 中構建概率分布和各種各樣的圖。這應該讓你了解 Python 中數據可視化的強大功能。如果你感到不知所措,你可以使用一些解決方案,如Plot.ly,這可能更直觀地掌握。

我們不會檢查每一個數據可視化選項,只要說使用 Python,可以比任何 SQL 提供的功能具有更強大的可視化功能,必須權衡使用 Python 獲得更多的靈活性,以及在 Excel 中通過模板生成圖表的簡易性。

在這種情況下,我們將建立一個簡單的直方圖,顯示人均 GDP 超過 5 萬美元的國家的人均 GDP 分布。 

  

 

有了這個強大的直方圖方法 (hist()),我們現在可以生成一個直方圖,顯示出大部分人均 GDP 在 5 萬到 7 萬美元之間!

分組和連接數據

在 Excel 和 SQL 中,諸如 JOIN 方法和數據透視表之類的強大工具可以快速匯總數據。

Pandas 和 Python 共享了許多從 SQL 和 Excel 被移植的相同方法。可以在數據集中對數據進行分組,并將不同的數據集連接在一起。你可以看看這里的文檔。你會發現,由 Pandas 中的merge 方法提供的連接功能與 SQL 通過 join 命令提供的連接功能非常相似,而 Pandas 還為過去在 Excel 中使用數據透視表的人提供了 pivot table 方法。

我們將制定的人均 GDP 的表格與世界銀行的世界發展指數清單進行簡單的連接。

首先導入世界發展指數的 .csv文件。

 

使用 .head() 方法快速查看這個數據集中的不同列。

 

現在我們完成了,我們可以快速看看,添加了幾個可以操作的列,包括不同年份的數據來源。

現在我們來合并數據: 

 

我們現在可以看到,這個表格包含了人均 GDP 列和具有不同列的遍及全國的數據。對于熟悉 SQL join 的用戶,你可以看到我們正在對原始 dataframe 的 Country 列進行內部連接。

 

現在我們有一個連接表,我們希望將國家和人均 GDP 按其所在地區進行分組。

我們現在可以使用 Pandas 中的 group 方法排列按區域分組的數據。

 

要是我們想看到 groupby 總結的***觀點怎么辦?Groupby 操作創建一個可以被操縱的臨時對象,但是它們不會創建一個***接口來為構建聚合結果。為此,我們必須使用 Excel 用戶的舊喜愛:數據透視表。幸運的是,Pandas 擁有強大的數據透視表方法。 

  

 

你會看到我們收集了一些不需要的列。幸運的是,使用 Pandas 中的 drop 方法,你可以輕松地刪除幾列。 

  

 

現在我們可以看到,人均 GDP 根據世界不同地區而不同。我們有一個干凈的、包含我們想要的數據的表。

這是一個非常膚淺的分析:你想實際做一個加權平均數,因為每個國家的人均 GDP 不代表一個群體中每個國家的人均 GDP,因為在群體中的人口不同。

事實上,你將要重復我們所有的計算,包括反映每個國家的人口列的方法!看看你是否可以在剛剛啟動的 Python notebook 中執行此操作。如果你可以弄清楚,你將會很好地將 SQL 或 Excel 知識轉移到 Python 中。 

責任編輯:龐桂玉 來源: 36大數據
相關推薦

2021-04-19 11:10:45

PythonSQLExcel

2020-12-10 10:46:23

PythonExcel圖片

2011-07-13 14:02:42

OracleExcel

2020-11-11 14:36:57

ExcelSQL函數

2010-09-07 14:18:55

Perl

2019-09-18 10:07:24

ExcelSQL數據庫

2020-08-17 15:45:33

PDF Mix TooPDFLinux

2020-02-21 17:10:12

ExcelPython腳本語言

2009-05-14 13:18:50

SQL Server代理任務微軟

2010-04-20 14:06:56

Oracle SQL語

2021-07-20 09:45:58

PythonEV短視頻

2020-12-30 08:12:17

SQLExcel分列

2021-10-28 19:36:20

SQLExcel功能

2022-02-16 13:46:40

Spring Aop代碼注解

2023-12-13 13:03:53

任務調度執行XXLJOB

2010-09-01 16:12:19

無線局域網

2009-08-19 10:13:51

Rake任務

2017-06-29 11:11:17

2018-03-27 18:12:12

PythonHTML

2021-04-20 08:33:29

SQL快照數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天色综| 久久久久久中文字幕 | 91人人在线 | 伊人网站 | 久草视频在线看 | 国产丝袜一区二区三区免费视频 | 中文字幕av在线 | 国产成人麻豆免费观看 | 美女国内精品自产拍在线播放 | 国产精品毛片无码 | 久久精品成人一区 | 国产精品美女久久久久aⅴ国产馆 | 国产在线精品一区二区三区 | 一区二区三区av | 日韩在线国产精品 | 日本精品视频一区二区 | 久色网 | 青春草91 | 国产精品久久久久久中文字 | 美女福利视频一区 | 久久精品一区 | 午夜精品视频在线观看 | 免费成人高清在线视频 | 久久久久国产一区二区三区 | 国产在线视频在线观看 | 国产精品视频在线播放 | 久久国产精品偷 | 国产激情在线 | 91国在线高清视频 | 日韩亚洲一区二区 | 国产精品成人一区二区三区夜夜夜 | 免费观看的av | www.色五月.com | 欧美另类视频在线 | 国产精品福利视频 | 在线观看www| 日韩国产一区二区三区 | 久久久久久亚洲 | www.99久久.com | 亚洲视频免费在线 | 99精品国产在热久久 |