最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Python數據分析與展示筆記

2023-02-27 15:16 作者:編程小宇e  | 我要投稿

Python數據分析與展示筆


一、前言

1.1需要掌握的知識

掌握表示、清洗、統(tǒng)計和展示數據的能力

image.png

1.2編程工具

使用Anaconda IDE集成開發(fā)工具

需要理解和掌握如下工具的使用

conda

Spyder

IPython


二、Anaconda IDE的基本使用方法

2.1conda

一個工具,用于包管理和環(huán)境管理。

包管理與pip類似,管理Python第三方庫。

環(huán)境管理能夠允許用戶使用不同版本Python,并能靈活切換。

conda將工具、第三方庫、Python版本、conda都當作包,同等對待。

2.2anaconda

一個集合,包括conda、 某版本Python、 一批第三方庫等。

2.3編程工具:Spyder

image.png

2.4IPython

它是一個功能強大的交互式shell,適合進行交互式數據可視化和GUI相關應用


IPython的%run命令

%run用于運行.py程序

注意: %run在一個空的命名空間執(zhí)行%


IPython的%魔術命令

? ??? ??

image.png

Python與IPython的區(qū)別

Python只是一個解釋器,用戶給一段輸入,則它給一段輸出。

IPython是一個能夠調用核心的Python解釋器的交互式環(huán)境,IPython只是前臺的一個顯示腳本,而對程序的執(zhí)行是由后臺的Python的內核執(zhí)行。


三、Python語言開發(fā)工具選擇

3.1文本工具類IDE介紹

IDLE

Notepad++

Sublime Text

Vim & Emacs

Atom

Komodo Edit

3.1.1IDLE

它是Python自帶的、默認的、常用的入門級編寫工具

適用于Python入門、功能簡單直接、代碼量小的需求

image.png

3.1.2Sublime Text

它是專門為程序員開發(fā)的第三方專用編程工具,具有專業(yè)的編程體驗和多種編程風格

image.png


3.2集成工具類IDE

PyCharm

Wing

PyDev & Eclipse

Visual Studio

Anaconda & Spyder

Canopy

3.2.1通用類型

Wing

它是公司維護,工具收費的;調試功能豐富;版本控制,版本同步;適合多人共同開發(fā)

image.png

Visual Studio & PTVS

它是微軟公司維護,Win環(huán)境為主,調試功能豐富的一款工具

image.png

Eclipse & PyDev

它是開源IDE開發(fā)工具,需要具備一定的開發(fā)環(huán)境

image.png

PyCharm

社區(qū)版免費簡單,集成度高,適合較復雜工程

image.png

3.2.2科學計算&數據分析

Canopy

公司維護,工收費;支持近500個第三方庫;適合科學計算領域應用開發(fā)? ??? ??

image.png

Anaconda

開源免費;支持近800個第三方庫

image.png


四、Numpy

4.1維度

一組數據的組織形式

一維數據;一維數據由對等關系的有序或無序數據構成,采用線性方式組織。

二維數據:二維數據由多個一維數據構成,是一維數據的組合形式。

多維數據:多維數據由一維或二維數據在新維度上擴展形成。

高維數據:高維數據僅利用最基本的二元關系展示數據間的復雜結構

4.2數據維度的Python表示

一維數組:列表和集合類型

image.png

維數據:列表類型

多維數據:列表類型

image.png

高維數據:字典類型或數據表示格式JSON、XML和YAML格式

image.png

4.3Numpy的數組對象:ndarray

NumPy

NumPy是一個 開源的Python科學計算基礎庫。

一個強大的N維數組對象ndarray

廣播功能函數

整合C/C++/Fortran代碼的工具

線性代數、傅里葉變換、隨機數生成等功能

NumPy是SciPy、Pandas等 數據處理或科學計算庫的基礎。

NumPy的引用

import numpy as np


N維數組對象: ndarray

數組對象可以去掉元素間運算所需的循環(huán),使一維向量更像單個數據。

設置專門的數組對象,經過優(yōu)化,可以提升這類應用的運算速度。


觀察:科學計算中,一個維度所有數據的類型往往相同。

數組對象采用相同的數據類型,有助于節(jié)省運算和存儲空間。


ndarray是一個多維數組對象,由兩部分構成:

實際的數據

描述這些數據的元數據(數據維度、數據類型等)

ndarray數組一般要求所有元素類型相同(同質),數組下標從0開始。


軸(axis):保存數據的維度

秩(rank):軸的數量


ndarray對象的屬性

? ??

image.png

ndarray的元素類型

對比: Python語法僅支持整數、浮點數和復數3種類型

科學計算涉及數據較多,對存儲和性能都有較高要求。

對元素類型精細定義,有助于NumPy合理使用存儲空間并優(yōu)化性能。

對元素類型精細定義,有助于程序員對程序規(guī)模有合理評估。


4.4ndarray數組的創(chuàng)建方法

從Python中的列表、元組等 類型創(chuàng)建ndarray數組

使用NumPy中函數創(chuàng)建ndarray數組,如: arange,ones, zeros等。

image.png

從字節(jié)流( raw bytes )中創(chuàng)建ndarray數組。

從文件中讀取特定格式,創(chuàng)建ndarray數組。

4.5ndarray數組的操作

索引:獲取數組中特定位置元素的過程

切片:獲取數組元素子集的過程


一維數組的索引和切片

與Python的列表類似

? ??

image.png

多維數組的索引和切片


image.png
image.png

4.6ndarray數組的運算

數組與標量之間的運算作用于數組的每一個元素

image.png

4.7總結

數據的維度:一維、二維、多維、高維

ndarray類型屬性創(chuàng)建和變換

數組的索引和切片

數組的運算:一元函數、二元函數


五、NumPy數據存取與函數

5.1保存CSV文件

np.savetxt(fname, array, fmt='%.18e', delimiter=None)

fname:文件、字符串或產生器,可以是.gz或.bz2的壓縮文件。

array:存人文件的數組。

fmt:寫入文件的格式,例如: %d %.2f %.18e。

delimiter:分割字符串,默認是任何空格。

image.png

5.2寫入CSV文件

np.loadtxt(fname, dtype=np.float, delimiter=None,unpack=False)

fname:文件、字符串或產生器,可以是.gz或.bz2的壓縮文件。

dtype:數據類型,可選。

delimiter:分割字符串,默認是任何空格。

unpack:如果True, 讀入屬性將分別寫入不同變量。

image.png
image.png

5.3CSV文件的局限性

CSV只能有效存儲一維和二維數組

np.savetxt() np.loadtxt()只能有效存取一維和二維數組

5.4多維數據的存取

a.tofile(firame, sep='format='%s')

fname:文件、字符串。

sep:數據分割字符串,如果是空串,寫人文件為二進制。

format:寫人數據的格式。

image.png
image.png

5.5多維數組的讀取

ap.fromfile(fname, dtype=float, count=-1,sep='')


fname:文件、字符串。

dtype:讀取的數據類型。

count:讀入元素個數,-1表示讀入整個文件。

sep:數據分割字符串,如果是空串,寫人文件為二進制。

需要注意:

該方法需要讀取時知道存入文件時數組的維度和元素類型

a.tofileO和np.fromfile(需要配合使用

可以通過元數據文件來存儲額外信息

5.6NumPy的便捷文件存取

np.save(fname, array)或np.savez(fname, array)

fname:文件名,以.npy為擴展名,壓縮擴展名為.npz

array:數組變量

np.load(fname)

5.7NumPy的隨機函數

NumPy的隨機數函數子庫

image.png

np.random的隨機數函數

image.png
image.png

5.8NumPy的統(tǒng)計函數

NumPy直接提供的統(tǒng)計類函數

image.png

np.random的統(tǒng)計函數

image.png

5.9NumPy的梯度

np.random的梯度函數

image.png

梯度:連續(xù)值之間的變化率,即斜率。

image.png

5.10總結

5.10.1數據存取

image.png

5.10.1隨機函數

image.png

5.10.1統(tǒng)計函數

image.png

5.10.1梯度函數

image.png


六、圖像的手繪效果

6.1圖像庫

PIL庫:PIL, Python Image Library

PIL庫是一個具有強大圖像處理能力的第三方庫

在命令行下的安裝方法: pip install pillow

from PIL import Image

Image是PIL庫中代表一個圖像的類 (對象)

image.png

圖像是一個三維數組,維度分別是高度、寬度和像素RGB值。


6.2圖像的變換

讀入圖像后,獲得像素RGB值,修改后保存為新的文件。

image.png
image.png

6.3圖像的手繪效果實例分析

手繪效果的幾個特征:

黑白灰色

邊界線條較重

相同或相近色彩趨于白色

略有光源效果

image.png

6.4圖像的手繪效果實例


6.4.1梯度的重構

利用像素之間的梯度值和虛擬深度值對圖像進行重構

根據灰度變化來模擬人類視覺的明暗程度

image.png

6.4.2光源效果

根據灰度變化來模擬人類視覺的遠近程度

image.png

●設計一個位于圖像斜上方的虛擬光源

●光源相對于圖像的俯視角為Elevation方位角為Azimuth

●建立光源對個點梯度值的影響函數

●運算出各點的新像素值


image.png

6.4.3梯度歸一化

image.png

6.4.4圖像生成

image.png

希望能夠給對此感興趣的小伙伴有所幫助。

獲取方法:點贊關注+評論



粉絲:62.5萬文章:712

能今天做好的事就不要等到明天。以夢為馬,學習趁年華。

一、前言

1.1需要掌握的知識

掌握表示、清洗、統(tǒng)計和展示數據的能力

image.png

1.2編程工具

使用Anaconda IDE集成開發(fā)工具

需要理解和掌握如下工具的使用

conda

Spyder

IPython


二、Anaconda IDE的基本使用方法

2.1conda

一個工具,用于包管理和環(huán)境管理。

包管理與pip類似,管理Python第三方庫。

環(huán)境管理能夠允許用戶使用不同版本Python,并能靈活切換。

conda將工具、第三方庫、Python版本、conda都當作包,同等對待。

2.2anaconda

一個集合,包括conda、 某版本Python、 一批第三方庫等。

2.3編程工具:Spyder

image.png

2.4IPython

它是一個功能強大的交互式shell,適合進行交互式數據可視化和GUI相關應用


IPython的%run命令

%run用于運行.py程序

注意: %run在一個空的命名空間執(zhí)行%


IPython的%魔術命令

? ??? ??

image.png

Python與IPython的區(qū)別

Python只是一個解釋器,用戶給一段輸入,則它給一段輸出。

IPython是一個能夠調用核心的Python解釋器的交互式環(huán)境,IPython只是前臺的一個顯示腳本,而對程序的執(zhí)行是由后臺的Python的內核執(zhí)行。


三、Python語言開發(fā)工具選擇

3.1文本工具類IDE介紹

IDLE

Notepad++

Sublime Text

Vim & Emacs

Atom

Komodo Edit

3.1.1IDLE

它是Python自帶的、默認的、常用的入門級編寫工具

適用于Python入門、功能簡單直接、代碼量小的需求

image.png

3.1.2Sublime Text

它是專門為程序員開發(fā)的第三方專用編程工具,具有專業(yè)的編程體驗和多種編程風格

image.png


3.2集成工具類IDE

PyCharm

Wing

PyDev & Eclipse

Visual Studio

Anaconda & Spyder

Canopy

3.2.1通用類型

Wing

它是公司維護,工具收費的;調試功能豐富;版本控制,版本同步;適合多人共同開發(fā)

image.png

Visual Studio & PTVS

它是微軟公司維護,Win環(huán)境為主,調試功能豐富的一款工具

image.png

Eclipse & PyDev

它是開源IDE開發(fā)工具,需要具備一定的開發(fā)環(huán)境

image.png

PyCharm

社區(qū)版免費簡單,集成度高,適合較復雜工程

image.png

3.2.2科學計算&數據分析

Canopy

公司維護,工收費;支持近500個第三方庫;適合科學計算領域應用開發(fā)? ??? ??

image.png

Anaconda

開源免費;支持近800個第三方庫

image.png


四、Numpy

4.1維度

一組數據的組織形式

一維數據;一維數據由對等關系的有序或無序數據構成,采用線性方式組織。

二維數據:二維數據由多個一維數據構成,是一維數據的組合形式。

多維數據:多維數據由一維或二維數據在新維度上擴展形成。

高維數據:高維數據僅利用最基本的二元關系展示數據間的復雜結構

4.2數據維度的Python表示

一維數組:列表和集合類型

image.png

維數據:列表類型

多維數據:列表類型

image.png

高維數據:字典類型或數據表示格式JSON、XML和YAML格式

image.png

4.3Numpy的數組對象:ndarray

NumPy

NumPy是一個 開源的Python科學計算基礎庫。

一個強大的N維數組對象ndarray

廣播功能函數

整合C/C++/Fortran代碼的工具

線性代數、傅里葉變換、隨機數生成等功能

NumPy是SciPy、Pandas等 數據處理或科學計算庫的基礎。

NumPy的引用

import numpy as np


N維數組對象: ndarray

數組對象可以去掉元素間運算所需的循環(huán),使一維向量更像單個數據。

設置專門的數組對象,經過優(yōu)化,可以提升這類應用的運算速度。


觀察:科學計算中,一個維度所有數據的類型往往相同。

數組對象采用相同的數據類型,有助于節(jié)省運算和存儲空間。


ndarray是一個多維數組對象,由兩部分構成:

實際的數據

描述這些數據的元數據(數據維度、數據類型等)

ndarray數組一般要求所有元素類型相同(同質),數組下標從0開始。


軸(axis):保存數據的維度

秩(rank):軸的數量


ndarray對象的屬性

? ??

image.png

ndarray的元素類型

對比: Python語法僅支持整數、浮點數和復數3種類型

科學計算涉及數據較多,對存儲和性能都有較高要求。

對元素類型精細定義,有助于NumPy合理使用存儲空間并優(yōu)化性能。

對元素類型精細定義,有助于程序員對程序規(guī)模有合理評估。


4.4ndarray數組的創(chuàng)建方法

從Python中的列表、元組等 類型創(chuàng)建ndarray數組

使用NumPy中函數創(chuàng)建ndarray數組,如: arange,ones, zeros等。

image.png

從字節(jié)流( raw bytes )中創(chuàng)建ndarray數組。

從文件中讀取特定格式,創(chuàng)建ndarray數組。

4.5ndarray數組的操作

索引:獲取數組中特定位置元素的過程

切片:獲取數組元素子集的過程


一維數組的索引和切片

與Python的列表類似

? ??

image.png

多維數組的索引和切片


image.png
image.png

4.6ndarray數組的運算

數組與標量之間的運算作用于數組的每一個元素

image.png

4.7總結

數據的維度:一維、二維、多維、高維

ndarray類型屬性創(chuàng)建和變換

數組的索引和切片

數組的運算:一元函數、二元函數


五、NumPy數據存取與函數

5.1保存CSV文件

np.savetxt(fname, array, fmt='%.18e', delimiter=None)

fname:文件、字符串或產生器,可以是.gz或.bz2的壓縮文件。

array:存人文件的數組。

fmt:寫入文件的格式,例如: %d %.2f %.18e。

delimiter:分割字符串,默認是任何空格。

image.png

5.2寫入CSV文件

np.loadtxt(fname, dtype=np.float, delimiter=None,unpack=False)

fname:文件、字符串或產生器,可以是.gz或.bz2的壓縮文件。

dtype:數據類型,可選。

delimiter:分割字符串,默認是任何空格。

unpack:如果True, 讀入屬性將分別寫入不同變量。

image.png
image.png

5.3CSV文件的局限性

CSV只能有效存儲一維和二維數組

np.savetxt() np.loadtxt()只能有效存取一維和二維數組

5.4多維數據的存取

a.tofile(firame, sep='format='%s')

fname:文件、字符串。

sep:數據分割字符串,如果是空串,寫人文件為二進制。

format:寫人數據的格式。

image.png
image.png

5.5多維數組的讀取

ap.fromfile(fname, dtype=float, count=-1,sep='')


fname:文件、字符串。

dtype:讀取的數據類型。

count:讀入元素個數,-1表示讀入整個文件。

sep:數據分割字符串,如果是空串,寫人文件為二進制。

需要注意:

該方法需要讀取時知道存入文件時數組的維度和元素類型

a.tofileO和np.fromfile(需要配合使用

可以通過元數據文件來存儲額外信息

5.6NumPy的便捷文件存取

np.save(fname, array)或np.savez(fname, array)

fname:文件名,以.npy為擴展名,壓縮擴展名為.npz

array:數組變量

np.load(fname)

5.7NumPy的隨機函數

NumPy的隨機數函數子庫

image.png

np.random的隨機數函數

image.png
image.png

5.8NumPy的統(tǒng)計函數

NumPy直接提供的統(tǒng)計類函數

image.png

np.random的統(tǒng)計函數

image.png

5.9NumPy的梯度

np.random的梯度函數

image.png

梯度:連續(xù)值之間的變化率,即斜率。

image.png

5.10總結

5.10.1數據存取

image.png

5.10.1隨機函數

image.png

5.10.1統(tǒng)計函數

image.png

5.10.1梯度函數

image.png


六、圖像的手繪效果

6.1圖像庫

PIL庫:PIL, Python Image Library

PIL庫是一個具有強大圖像處理能力的第三方庫

在命令行下的安裝方法: pip install pillow

from PIL import Image

Image是PIL庫中代表一個圖像的類 (對象)

image.png

圖像是一個三維數組,維度分別是高度、寬度和像素RGB值。


6.2圖像的變換

讀入圖像后,獲得像素RGB值,修改后保存為新的文件。

image.png
image.png

6.3圖像的手繪效果實例分析

手繪效果的幾個特征:

黑白灰色

邊界線條較重

相同或相近色彩趨于白色

略有光源效果

image.png

6.4圖像的手繪效果實例


6.4.1梯度的重構

利用像素之間的梯度值和虛擬深度值對圖像進行重構

根據灰度變化來模擬人類視覺的明暗程度

image.png

6.4.2光源效果

根據灰度變化來模擬人類視覺的遠近程度

image.png

●設計一個位于圖像斜上方的虛擬光源

●光源相對于圖像的俯視角為Elevation方位角為Azimuth

●建立光源對個點梯度值的影響函數

●運算出各點的新像素值


image.png

6.4.3梯度歸一化

image.png

6.4.4圖像生成

image.png

希望能夠給對此感興趣的小伙伴有所幫助。


Python數據分析與展示筆記的評論 (共 條)

分享到微博請遵守國家法律
双柏县| 得荣县| 神农架林区| 苍梧县| 师宗县| 苏尼特右旗| 嵊泗县| 铜陵市| 同心县| 方正县| 务川| 岢岚县| 古浪县| 龙里县| 大埔区| 东辽县| 德钦县| 洛扎县| 定边县| 秦安县| 岢岚县| 来安县| 秦皇岛市| 乌兰县| 策勒县| 达日县| 永仁县| 玉树县| 长白| 镇远县| 田阳县| 山阴县| 治县。| 浠水县| 屯门区| 阿图什市| 安岳县| 武平县| 云浮市| 绥德县| 邓州市|