目錄:
- 為什么要使用Python做數(shù)據(jù)開(kāi)發(fā)
- Python在數(shù)據(jù)開(kāi)發(fā)領(lǐng)域的優(yōu)勢(shì)
- 為什么要學(xué)習(xí)Pandas
- 其他常用Python庫(kù)介紹
- 主要內(nèi)容介紹
- Anaconda安裝
- Anaconda的虛擬環(huán)境管理
- 虛擬環(huán)境的作用
- 可以通過(guò)Anaconda界面創(chuàng)建虛擬環(huán)境
- 通過(guò)命令行創(chuàng)建虛擬環(huán)境
- 通過(guò)Anaconda管理界面安裝包
- 也可以通過(guò)anaconda3提供的CMD終端工具進(jìn)行python包的安裝
- 啟動(dòng) Jupyter Notebook
- 可以通過(guò)Anaconda啟動(dòng) Jupyter Notebook
- 推薦通過(guò)終端啟動(dòng) Jupyter Notebook
- Jupyter notebook的功能擴(kuò)展
- Jupyter Notebook的界面
- Jupyter Notebook常用快捷鍵
- Jupyter Notebook中使用Markdown
- 切換JupyterNotebook啟動(dòng)路徑
- Jupyter Notebook快捷鍵
- 對(duì)比中日兩國(guó)的GDP變化曲線
- 對(duì)比中美日三國(guó)GDP變化曲線
- 解決中文不能在圖表中正常顯示的問(wèn)題
- 總結(jié)
- 項(xiàng)目地址
1.為什么要使用Python做數(shù)據(jù)開(kāi)發(fā)
- 易學(xué)易用:Python的語(yǔ)法清晰簡(jiǎn)潔,易于理解,使得開(kāi)發(fā)者能夠快速上手并快速開(kāi)發(fā)出原型。Python還提供了大量的第三方庫(kù),使得開(kāi)發(fā)過(guò)程更加便捷。
- 高效的數(shù)據(jù)處理能力:Python具有強(qiáng)大的數(shù)據(jù)處理能力,特別是利用numpy、pandas等庫(kù)進(jìn)行科學(xué)計(jì)算和數(shù)據(jù)處理。這些庫(kù)使得Python在數(shù)據(jù)開(kāi)發(fā)領(lǐng)域具有很大的優(yōu)勢(shì)。
- 廣泛的社區(qū)支持:Python有一個(gè)龐大的開(kāi)發(fā)者社區(qū),可以為開(kāi)發(fā)者提供豐富的資源和支持。例如,有許多開(kāi)源的數(shù)據(jù)分析庫(kù)和框架(如numpy、pandas、scipy、matplotlib等)都是用Python編寫(xiě)的,這使得Python在數(shù)據(jù)開(kāi)發(fā)領(lǐng)域具有很高的靈活性。
- 跨平臺(tái)性:Python可以在多種操作系統(tǒng)(如Windows、Linux、Mac OS等)上運(yùn)行,使得開(kāi)發(fā)過(guò)程更加便捷。
- 可擴(kuò)展性:Python可以輕松地與其他語(yǔ)言(如C++、Java等)進(jìn)行集成,使得開(kāi)發(fā)過(guò)程更加靈活。
- 應(yīng)用廣泛:Python在數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、自然語(yǔ)言處理等領(lǐng)域都有廣泛的應(yīng)用,使得Python在數(shù)據(jù)開(kāi)發(fā)領(lǐng)域具有很高的價(jià)值。
- 豐富的數(shù)據(jù)處理工具:Python提供了豐富的數(shù)據(jù)處理工具,如Jupyter Notebook、matplotlib等,可以幫助開(kāi)發(fā)者更好地理解和分析數(shù)據(jù)。
2.Python在數(shù)據(jù)開(kāi)發(fā)領(lǐng)域的優(yōu)勢(shì)
- Python作為當(dāng)下最為流行的編程語(yǔ)言之一,可以獨(dú)立完成數(shù)據(jù)開(kāi)發(fā)的各種任務(wù):
-
語(yǔ)言本身就簡(jiǎn)單易學(xué),書(shū)寫(xiě)代碼簡(jiǎn)單快速
-
同時(shí)在數(shù)據(jù)分析以及大數(shù)據(jù)領(lǐng)域里有海量的功能強(qiáng)大的開(kāi)源庫(kù),并持續(xù)更新
-
Pandas - 數(shù)據(jù)清洗、數(shù)據(jù)處理、數(shù)據(jù)分析
-
Sklearn - 機(jī)器學(xué)習(xí)、統(tǒng)計(jì)分析
-
PySpark - Spark使用Python
-
PyFlink - Flink使用Python
-
Matplotlib、Seaborn、Pyecharts - 出圖表
-
-
3.為什么要學(xué)習(xí)Pandas
Python在數(shù)據(jù)處理上獨(dú)步天下:代碼靈活、開(kāi)發(fā)快速;尤其是Python的Pandas包,無(wú)論是在數(shù)據(jù)分析領(lǐng)域、還是大數(shù)據(jù)開(kāi)發(fā)場(chǎng)景中都具有顯著的優(yōu)勢(shì):
-
Pandas是Python的一個(gè)第三方包,也是商業(yè)和工程領(lǐng)域最流行的結(jié)構(gòu)化數(shù)據(jù)工具集,用于數(shù)據(jù)清洗、處理以及分析
-
Pandas和Spark中很多功能都類似,甚至使用方法都是相同的;當(dāng)我們學(xué)會(huì)Pandas之后,再學(xué)習(xí)Spark就更加簡(jiǎn)單快速
-
Pandas在整個(gè)數(shù)據(jù)開(kāi)發(fā)的流程中的應(yīng)用場(chǎng)景
-
在大數(shù)據(jù)場(chǎng)景下,數(shù)據(jù)在流轉(zhuǎn)的過(guò)程中,Python Pandas豐富的API能夠更加靈活、快速的對(duì)數(shù)據(jù)進(jìn)行清洗和處理
-
-
Pandas在數(shù)據(jù)處理上具有獨(dú)特的優(yōu)勢(shì):
-
底層是基于Numpy構(gòu)建的,所以運(yùn)行速度特別的快
-
有專門(mén)的處理缺失數(shù)據(jù)的API
-
強(qiáng)大而靈活的分組、聚合、轉(zhuǎn)換功能
-
-
數(shù)據(jù)量大到excel嚴(yán)重卡頓,且又都是單機(jī)數(shù)據(jù)的時(shí)候,我們使用pandas
-
在大數(shù)據(jù)ETL數(shù)據(jù)倉(cāng)庫(kù)中,對(duì)數(shù)據(jù)進(jìn)行清洗及處理的環(huán)節(jié)使用pandas
4.其他常用Python庫(kù)介紹
在數(shù)據(jù)分析、數(shù)據(jù)開(kāi)發(fā)領(lǐng)域,除了Pandas還有其他常用的一些庫(kù),如下
-
NumPy(Numerical Python) :是 Python 語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù);運(yùn)行速度非???,主要用于數(shù)組計(jì)算
-
Matplotlib 是一個(gè)功能強(qiáng)大的數(shù)據(jù)可視化開(kāi)源Python庫(kù)
-
Seaborn 是一個(gè)Python數(shù)據(jù)可視化開(kāi)源庫(kù);建立在matplotlib之上,并集成了pandas的數(shù)據(jù)結(jié)構(gòu)
-
Pyecharts 是基于百度的echarts的Python開(kāi)源庫(kù),有完整豐富的中文文檔及示例
-
Sklearn,即scikit-learn 是基于 Python 語(yǔ)言的機(jī)器學(xué)習(xí)工具,經(jīng)常用于統(tǒng)計(jì)分析計(jì)算
-
PySpark 是 Spark 為 Python 開(kāi)發(fā)者提供的 API,具有Spark全部的API功能
5.主要內(nèi)容介紹
-
Pandas基礎(chǔ)知識(shí)
-
pandas數(shù)據(jù)結(jié)構(gòu)
-
索引與列名的操作
-
增刪改dataframe中的數(shù)據(jù)
-
查詢dataframe中的數(shù)據(jù)
-
pandas中常用計(jì)算函數(shù)
-
-
數(shù)據(jù)清洗與處理
-
dataframe缺失值處理
-
pandas中數(shù)據(jù)類型詳解
-
dataframe分組與分箱
-
dataframe合并與變形
-
-
保存數(shù)據(jù)與數(shù)據(jù)可視化
-
dataframe的讀取與保存
-
圖表可視化
-
6.Anaconda安裝
-
Anaconda是什么?
-
Anaconda 是最流行的數(shù)據(jù)分析平臺(tái),全球兩千多萬(wàn)人在使用
-
Anaconda 附帶了一大批常用數(shù)據(jù)科學(xué)包,不光自帶Python還集成150 多個(gè)科學(xué)包及其依賴項(xiàng)(默認(rèn)的base環(huán)境)
-
Anaconda 是在 Conda(一個(gè)包管理器和環(huán)境管理器)上發(fā)展出來(lái)的
-
Conda可以幫助你在計(jì)算機(jī)上安裝和管理數(shù)據(jù)分析相關(guān)包
-
Anaconda的倉(cāng)庫(kù)中包含了7000多個(gè)數(shù)據(jù)科學(xué)相關(guān)的開(kāi)源庫(kù)
-
-
Anaconda 包含了虛擬環(huán)境管理工具,通過(guò)虛擬環(huán)境可以使不同的Python或者開(kāi)源庫(kù)的版本同時(shí)存在
-
Anaconda 可用于多個(gè)平臺(tái)( Windows、Mac OS X 和 Linux)
-
-
Jupyter Notebook是什么?
-
我們平時(shí)使用Anaconda 自帶的jupyter notebook來(lái)進(jìn)行開(kāi)發(fā),Anaconda 是工具管理器,jupyter notebook是代碼編輯器(類似于pycharm,但jupyter notebook是基于html網(wǎng)頁(yè)運(yùn)行的)
-
7.Anaconda的虛擬環(huán)境管理
-
不同的python項(xiàng)目,可能使用了各自不同的python的包、模塊;
-
不同的python項(xiàng)目,可能使用了相同的python的包、模塊,但版本不同;
-
不同的python項(xiàng)目,甚至使用的Python的版本都是不同;
為了讓避免項(xiàng)目所使用的Python及包模塊版本沖突,所以需要代碼運(yùn)行的依賴環(huán)境彼此分開(kāi),業(yè)內(nèi)有各種各樣的成熟解決方案,但原理都是一樣的:不同項(xiàng)目代碼的運(yùn)行,使用保存在不同路徑下的python和各自的包模塊;不同位置的python解釋器和包模塊就稱之為虛擬環(huán)境,具體關(guān)系圖如下:
虛擬環(huán)境的本質(zhì),就是在你電腦里安裝了多個(gè)Python解釋器(可執(zhí)行程序),每個(gè)Python解釋器又關(guān)聯(lián)了很多個(gè)包、模塊;項(xiàng)目代碼在運(yùn)行時(shí),是使用特定路徑下的那個(gè)Python解釋器來(lái)執(zhí)行
8.虛擬環(huán)境的作用
-
很多開(kāi)源庫(kù)版本升級(jí)后API有變化,老版本的代碼不能在新版本中運(yùn)行
-
將不同Python版本/相同開(kāi)源庫(kù)的不同版本隔離
-
不同版本的代碼在不同的虛擬環(huán)境中運(yùn)行
9.可以通過(guò)Anaconda界面創(chuàng)建虛擬環(huán)境
10.通過(guò)命令行創(chuàng)建虛擬環(huán)境
- 在anaconda管理界面打開(kāi)cmd命令行終端
- 命令行終端對(duì)虛擬環(huán)境的操作命令如下
conda create -n 虛擬環(huán)境名字 python=3.8 #創(chuàng)建虛擬環(huán)境 python=3.8 指定python版本
conda activate 虛擬環(huán)境名字 #進(jìn)入虛擬環(huán)境
conda deactivate #退出虛擬環(huán)境
conda remove -n 虛擬環(huán)境名字 --all #刪除虛擬環(huán)境,不要在當(dāng)前的虛擬環(huán)境中刪除當(dāng)前的虛擬環(huán)境,會(huì)報(bào)錯(cuò)
conda env list #查看虛擬環(huán)境
?11.通過(guò)Anaconda管理界面安裝包
- 點(diǎn)擊Environment選項(xiàng)卡,進(jìn)入到環(huán)境管理界面,通過(guò)當(dāng)前管理界面安裝python的包模塊 ?
12.也可以通過(guò)anaconda3提供的CMD終端工具進(jìn)行python包的安裝
-
在anaconda管理界面打開(kāi)cmd命令行終端
- 可以通過(guò)conda install 安裝【不推薦】
- conda install 包名字
- 但更推薦使用pip命令來(lái)安裝python的第三方包【推薦】
- pip install 包名字
- 安裝其他包速度慢可以指定國(guó)內(nèi)鏡像
# 阿里云:https://mirrors.aliyun.com/pypi/simple/
# 豆瓣:https://pypi.douban.com/simple/
# 清華大學(xué):https://pypi.tuna.tsinghua.edu.cn/simple/
# 中國(guó)科學(xué)技術(shù)大學(xué) http://pypi.mirrors.ustc.edu.cn/simple/
pip install 包名 -i https://mirrors.aliyun.com/pypi/simple/ #通過(guò)阿里云鏡像安裝
13.啟動(dòng) Jupyter Notebook
- 推薦使用命令行終端打開(kāi)Jupyter Notebook
14.可以通過(guò)Anaconda啟動(dòng) Jupyter Notebook
15.推薦通過(guò)終端啟動(dòng) Jupyter Notebook
- 這種方式先啟動(dòng)cmd,通過(guò)切換虛擬環(huán)境和磁盤(pán)位置,再啟動(dòng)Jupyter notebook
-
在啟動(dòng)anaconda提供的CMD啟動(dòng)后,輸入命令如下
# 可選操作,切換虛擬環(huán)境,使用不同的python解釋器和包
conda activate 虛擬環(huán)境名字
# 切換磁盤(pán)位置,可選操作
cd d:/
d:
# 啟動(dòng)jupyter notebook
jupyter notebook
-
上述操作如下圖所示
-
此時(shí)瀏覽器會(huì)自動(dòng)打開(kāi)jupyter notebook
16.Jupyter notebook的功能擴(kuò)展
- 在啟動(dòng)anaconda提供的CMD啟動(dòng)后,安裝jupyter_contrib_nbextensions庫(kù),在CMD中輸入下列命令
#進(jìn)入到虛擬環(huán)境中
conda activate 虛擬環(huán)境名字
#安裝 jupyter_contrib_nbextensions
pip install jupyter_contrib_nbextensions
#jupyter notebook安裝插件
jupyter contrib nbextension install --user --skip-running-check
- 安裝結(jié)束后啟動(dòng)jupyter notebook
- 配置擴(kuò)展功能,在原來(lái)的基礎(chǔ)上勾選: “Table of Contents” 以及 “Hinterland”
17.Jupyter Notebook的界面
- 新建notebook文檔
- 注意:Jupyter Notebook 文檔的擴(kuò)展名為
.ipynb
,與我們正常熟知的.py
后綴不同
- ?新建文件之后會(huì)打開(kāi)Notebook界面
- 菜單欄中相關(guān)按鈕功能介紹:
- Jupyter Notebook的代碼的輸入框和輸出顯示的結(jié)果都稱之為cell,cell行號(hào)前的 * ,表示代碼正在運(yùn)行 ?
18.Jupyter Notebook常用快捷鍵
Jupyter Notebook中分為兩種模式:命令模式和編輯模式
-
兩種模式通用快捷鍵
-
Shift+Enter
,執(zhí)行本單元代碼,并跳轉(zhuǎn)到下一單元 -
Ctrl+Enter
,執(zhí)行本單元代碼,留在本單元
-
-
按ESC進(jìn)入命令模式
-
Y
,cell切換到Code模式 -
M
,cell切換到Markdown模式 -
A
,在當(dāng)前cell的上面添加cell -
B
,在當(dāng)前cell的下面添加cell -
雙擊D
:刪除當(dāng)前cell - 編輯模式:按Enter進(jìn)入,或鼠標(biāo)點(diǎn)擊代碼編輯框體的輸入?yún)^(qū)域 ?
-
回退:
Ctrl+Z
(Mac:CMD+Z) -
重做:
Ctrl+Y
(Mac:CMD+Y) -
補(bǔ)全代碼:變量、方法后跟
Tab鍵
-
為一行或多行代碼添加/取消注釋:
Ctrl+/
(Mac:CMD+/)
19.Jupyter Notebook中使用Markdown
-
在命令模式中,按M即可進(jìn)入到Markdown編輯模式
-
使用Markdown語(yǔ)法可以在代碼間穿插格式化的文本作為說(shuō)明文字或筆記
-
Markdown基本語(yǔ)法:標(biāo)題和縮進(jìn)
-
效果如下圖所示
-
可以查看文件中的目錄(大綱)
20.切換JupyterNotebook啟動(dòng)路徑
-
JupyterNotebook啟動(dòng)之后默認(rèn)路徑是在C盤(pán)的根路徑,但很多時(shí)候我們想在別的路徑創(chuàng)建或操作ipynb文件:打開(kāi)Anaconda提供的CMD終端并切換路徑,此時(shí)再啟動(dòng)jupyter notebook即可;比如此時(shí)我們想切換到D盤(pán)下的某個(gè)路徑再啟動(dòng)
(base) C:\Users\windows10>D:
(base) D:\>cd D:\數(shù)據(jù)分析課程v1.6\05-新版3天版Pandas\代碼
(base) D:\數(shù)據(jù)分析課程v1.6\05-新版3天版Pandas\代碼>jupyter notebook
-
此時(shí)就會(huì)自動(dòng)在瀏覽器中打開(kāi)JupyterNotebook編輯器
?21.Jupyter Notebook快捷鍵
22.對(duì)比中日兩國(guó)的GDP變化曲線
# 導(dǎo)包并加載數(shù)據(jù)
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('../datas/data_set/1960-2019全球GDP數(shù)據(jù).csv', encoding='gbk')
# 顯示全部數(shù)據(jù)
print(df)
# 查詢中國(guó)的GDP
china_gdp = df[df.country=='中國(guó)'] # df.country 選中列名為country的列
# 顯示前10條數(shù)據(jù),默認(rèn)查看前5條數(shù)據(jù)
print(china_gdp.head(10))
# 將year年份設(shè)為索引
china_gdp = china_gdp.set_index('year')
# 默認(rèn)顯示前5條
print(china_gdp.head())
# 畫(huà)出GDP逐年變化的曲線圖
china_gdp.GDP.plot()
plt.show()
# 使用同樣的方法畫(huà)出日本的GDP變化曲線,和中國(guó)的GDP變化曲線進(jìn)行對(duì)比
jp_gdp = df[df.country=='日本'].set_index('year') # 按條件選取數(shù)據(jù)后,重設(shè)索引
jp_gdp.GDP.plot()
china_gdp.GDP.plot()
plt.show()
23.對(duì)比中美日三國(guó)GDP變化曲線
# 分別查詢中國(guó)、美國(guó)、日本三國(guó)的GDP數(shù)據(jù),并繪制GDP變化曲線、進(jìn)行對(duì)比
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('../datas/data_set/1960-2019全球GDP數(shù)據(jù).csv', encoding='gbk')
china_gdp = df[df.country == '中國(guó)'].set_index('year')
us_gdp = df[df.country == '美國(guó)'].set_index('year')
jp_gdp = df[df.country == '日本'].set_index('year')
jp_gdp.GDP.plot()
china_gdp.GDP.plot()
us_gdp.GDP.plot()
plt.show()
# 設(shè)置圖例
# 按條件選取數(shù)據(jù)
china_gdp = df[df.country=='中國(guó)'].set_index('year')
us_gdp = df[df.country=='美國(guó)'].set_index('year')
jp_gdp = df[df.country=='日本'].set_index('year')
# 出圖并添加圖例
jp_gdp.GDP.plot(legend=True)
china_gdp.GDP.plot(legend=True)
us_gdp.GDP.plot(legend=True)
plt.show()
# 修改列名使圖例顯示為各國(guó)名稱
# 按條件選取數(shù)據(jù)
china_gdp = df[df.country=='中國(guó)'].set_index('year')
us_gdp = df[df.country=='美國(guó)'].set_index('year')
jp_gdp = df[df.country=='日本'].set_index('year')
# 對(duì)指定的列修改列名
jp_gdp.rename(columns={'GDP':'japan'}, inplace=True)
china_gdp.rename(columns={'GDP':'china'}, inplace=True)
us_gdp.rename(columns={'GDP':'usa'}, inplace=True)
# 畫(huà)圖
jp_gdp.japan.plot(legend=True)
china_gdp.china.plot(legend=True)
us_gdp.usa.plot(legend=True)
plt.show()
24.解決中文不能在圖表中正常顯示的問(wèn)題
# 按條件選取數(shù)據(jù)
china_gdp = df[df.country=='中國(guó)'].set_index('year')
us_gdp = df[df.country=='美國(guó)'].set_index('year')
jp_gdp = df[df.country=='日本'].set_index('year')
# 對(duì)指定的列修改列名
jp_gdp.rename(columns={'GDP':'日本'}, inplace=True)
china_gdp.rename(columns={'GDP':'中國(guó)'}, inplace=True)
us_gdp.rename(columns={'GDP':'美國(guó)'}, inplace=True)
# 畫(huà)圖
jp_gdp['日本'].plot(legend=True)
china_gdp['中國(guó)'].plot(legend=True)
us_gdp['美國(guó)'].plot(legend=True)
# 解決中文顯示問(wèn)題,下面的代碼只需運(yùn)行一次即可
import matplotlib as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 如果沒(méi)有黑體字體可以換個(gè)字體 楷體:KaiTi
mpl.rcParams['font.serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False # 解決負(fù)號(hào)不顯示問(wèn)題
?25.總結(jié)
-
Python Pandas的作用:清洗、處理、分析數(shù)據(jù)
-
Pandas環(huán)境搭建:
-
安裝Anaconda,默認(rèn)自帶Python以及其他相關(guān)三方包
-
使用默認(rèn)的base虛擬環(huán)境啟動(dòng)
Jupyter Notebook
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-735663.html
-
26.項(xiàng)目地址?
Python: 66666666666666 - Gitee.com文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-735663.html
到了這里,關(guān)于[黑馬程序員Pandas教程]——Pandas快速體驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!