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

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python數(shù)據(jù)分析與展示筆記

2020-12-31 14:54 作者:薈呀薈學(xué)習(xí)  | 我要投稿

能今天做好的事就不要等到明天。以夢(mèng)為馬,學(xué)習(xí)趁年華。

一、前言

1.1需要掌握的知識(shí)

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

1.2編程工具

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

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

conda

Spyder

IPython


二、Anaconda IDE的基本使用方法

2.1conda

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

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

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

conda將工具、第三方庫、Python版本、conda都當(dāng)作包,同等對(duì)待。

2.2anaconda

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

2.3編程工具:Spyder

2.4IPython

它是一個(gè)功能強(qiáng)大的交互式shell,適合進(jìn)行交互式數(shù)據(jù)可視化和GUI相關(guān)應(yīng)用


IPython的%run命令

%run用于運(yùn)行.py程序

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


IPython的%魔術(shù)命令

? ??? ??

Python與IPython的區(qū)別

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

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


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

3.1文本工具類IDE介紹

IDLE

Notepad++

Sublime Text

Vim & Emacs

Atom

Komodo Edit

3.1.1IDLE

它是Python自帶的、默認(rèn)的、常用的入門級(jí)編寫工具

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

3.1.2Sublime Text

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


3.2集成工具類IDE

PyCharm

Wing

PyDev & Eclipse

Visual Studio

Anaconda & Spyder

Canopy

3.2.1通用類型

Wing

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

Visual Studio & PTVS

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

Eclipse & PyDev

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

PyCharm

社區(qū)版免費(fèi)簡(jiǎn)單,集成度高,適合較復(fù)雜工程

3.2.2科學(xué)計(jì)算&數(shù)據(jù)分析

Canopy

公司維護(hù),工收費(fèi);支持近500個(gè)第三方庫;適合科學(xué)計(jì)算領(lǐng)域應(yīng)用開發(fā)? ??? ??

Anaconda

開源免費(fèi);支持近800個(gè)第三方庫


四、Numpy

4.1維度

一組數(shù)據(jù)的組織形式

一維數(shù)據(jù);一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織。

二維數(shù)據(jù):二維數(shù)據(jù)由多個(gè)一維數(shù)據(jù)構(gòu)成,是一維數(shù)據(jù)的組合形式。

多維數(shù)據(jù):多維數(shù)據(jù)由一維或二維數(shù)據(jù)在新維度上擴(kuò)展形成。

高維數(shù)據(jù):高維數(shù)據(jù)僅利用最基本的二元關(guān)系展示數(shù)據(jù)間的復(fù)雜結(jié)構(gòu)

4.2數(shù)據(jù)維度的Python表示

一維數(shù)組:列表和集合類型

維數(shù)據(jù):列表類型

多維數(shù)據(jù):列表類型

高維數(shù)據(jù):字典類型或數(shù)據(jù)表示格式JSON、XML和YAML格式

4.3Numpy的數(shù)組對(duì)象:ndarray

NumPy

NumPy是一個(gè) 開源的Python科學(xué)計(jì)算基礎(chǔ)庫。

一個(gè)強(qiáng)大的N維數(shù)組對(duì)象ndarray

廣播功能函數(shù)

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

線性代數(shù)、傅里葉變換、隨機(jī)數(shù)生成等功能

NumPy是SciPy、Pandas等 數(shù)據(jù)處理或科學(xué)計(jì)算庫的基礎(chǔ)。

NumPy的引用

import numpy as np


N維數(shù)組對(duì)象: ndarray

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

設(shè)置專門的數(shù)組對(duì)象,經(jīng)過優(yōu)化,可以提升這類應(yīng)用的運(yùn)算速度。


觀察:科學(xué)計(jì)算中,一個(gè)維度所有數(shù)據(jù)的類型往往相同。

數(shù)組對(duì)象采用相同的數(shù)據(jù)類型,有助于節(jié)省運(yùn)算和存儲(chǔ)空間。


ndarray是一個(gè)多維數(shù)組對(duì)象,由兩部分構(gòu)成:

實(shí)際的數(shù)據(jù)

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

ndarray數(shù)組一般要求所有元素類型相同(同質(zhì)),數(shù)組下標(biāo)從0開始。


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

秩(rank):軸的數(shù)量


ndarray對(duì)象的屬性

? ??

ndarray的元素類型

對(duì)比: Python語法僅支持整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù)3種類型

科學(xué)計(jì)算涉及數(shù)據(jù)較多,對(duì)存儲(chǔ)和性能都有較高要求。

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

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


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

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

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

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

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

4.5ndarray數(shù)組的操作

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

切片:獲取數(shù)組元素子集的過程


一維數(shù)組的索引和切片

與Python的列表類似

? ??

多維數(shù)組的索引和切片


4.6ndarray數(shù)組的運(yùn)算

數(shù)組與標(biāo)量之間的運(yùn)算作用于數(shù)組的每一個(gè)元素

4.7總結(jié)

數(shù)據(jù)的維度:一維、二維、多維、高維

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

數(shù)組的索引和切片

數(shù)組的運(yùn)算:一元函數(shù)、二元函數(shù)


五、NumPy數(shù)據(jù)存取與函數(shù)

5.1保存CSV文件

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

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

array:存人文件的數(shù)組。

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

delimiter:分割字符串,默認(rèn)是任何空格。

5.2寫入CSV文件

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

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

dtype:數(shù)據(jù)類型,可選。

delimiter:分割字符串,默認(rèn)是任何空格。

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

5.3CSV文件的局限性

CSV只能有效存儲(chǔ)一維和二維數(shù)組

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

5.4多維數(shù)據(jù)的存取

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

fname:文件、字符串。

sep:數(shù)據(jù)分割字符串,如果是空串,寫人文件為二進(jìn)制。

format:寫人數(shù)據(jù)的格式。

5.5多維數(shù)組的讀取

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


fname:文件、字符串。

dtype:讀取的數(shù)據(jù)類型。

count:讀入元素個(gè)數(shù),-1表示讀入整個(gè)文件。

sep:數(shù)據(jù)分割字符串,如果是空串,寫人文件為二進(jìn)制。

需要注意:

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

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

可以通過元數(shù)據(jù)文件來存儲(chǔ)額外信息

5.6NumPy的便捷文件存取

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

fname:文件名,以.npy為擴(kuò)展名,壓縮擴(kuò)展名為.npz

array:數(shù)組變量

np.load(fname)

5.7NumPy的隨機(jī)函數(shù)

NumPy的隨機(jī)數(shù)函數(shù)子庫

np.random的隨機(jī)數(shù)函數(shù)

5.8NumPy的統(tǒng)計(jì)函數(shù)

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

np.random的統(tǒng)計(jì)函數(shù)

5.9NumPy的梯度

np.random的梯度函數(shù)

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

5.10總結(jié)

5.10.1數(shù)據(jù)存取

5.10.1隨機(jī)函數(shù)

5.10.1統(tǒng)計(jì)函數(shù)

5.10.1梯度函數(shù)


六、圖像的手繪效果

6.1圖像庫

PIL庫:PIL, Python Image Library

PIL庫是一個(gè)具有強(qiáng)大圖像處理能力的第三方庫

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

from PIL import Image

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

圖像是一個(gè)三維數(shù)組,維度分別是高度、寬度和像素RGB值。


6.2圖像的變換

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

6.3圖像的手繪效果實(shí)例分析

手繪效果的幾個(gè)特征:

黑白灰色

邊界線條較重

相同或相近色彩趨于白色

略有光源效果

6.4圖像的手繪效果實(shí)例


6.4.1梯度的重構(gòu)

利用像素之間的梯度值和虛擬深度值對(duì)圖像進(jìn)行重構(gòu)

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

6.4.2光源效果

根據(jù)灰度變化來模擬人類視覺的遠(yuǎn)近程度

●設(shè)計(jì)一個(gè)位于圖像斜上方的虛擬光源

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

●建立光源對(duì)個(gè)點(diǎn)梯度值的影響函數(shù)

●運(yùn)算出各點(diǎn)的新像素值


6.4.3梯度歸一化

6.4.4圖像生成

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

需要完整PDF版本筆記的小伙伴在評(píng)論區(qū)留下郵箱即可

如果喜歡的話,請(qǐng)給小薈獻(xiàn)出一條龍,小薈心里暖融融!??!



Python數(shù)據(jù)分析與展示筆記的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
合肥市| 昆山市| 霍林郭勒市| 中方县| 永新县| 修武县| 靖安县| 青州市| 岳西县| 山阳县| 芮城县| 县级市| 金塔县| 鲁甸县| 岚皋县| 武夷山市| 界首市| 谷城县| 安顺市| 邢台县| 阆中市| 恩平市| 台湾省| 石首市| 金溪县| 房产| 泸水县| 鹿邑县| 龙南县| 班玛县| 洪洞县| 广昌县| 泌阳县| 利川市| 沧州市| 班戈县| 富阳市| 湾仔区| 老河口市| 澜沧| 潢川县|