亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中Numpy和Matplotlib的基本使用指南

 更新時(shí)間:2021年11月02日 11:27:28   作者:HandsomeToDeath  
numpy庫處理的最基礎(chǔ)數(shù)據(jù)類型是由同種元素構(gòu)成的多維數(shù)組(ndarray),而matplotlib 是提供數(shù)據(jù)繪圖功能的第三方庫,其pyplot子庫主要用于實(shí)現(xiàn)各種數(shù)據(jù)展示圖形的繪制,這篇文章主要給大家介紹了關(guān)于Python中Numpy和Matplotlib的基本使用指南,需要的朋友可以參考下

1. Jupyter Notebooks

作為小白,我現(xiàn)在使用的python編輯器是Jupyter Notebook,非常的好用,推薦?。?!

你可以按[Ctrl] + [Enter]快捷鍵或按菜單中的運(yùn)行按鈕來運(yùn)行單元格。

在function(后面按[shift] + [tab],可以獲得函數(shù)或?qū)ο蟮膸椭?/p>

你還可以通過執(zhí)行function?獲得幫助。

2. NumPy 數(shù)組

操作numpy數(shù)組是 Python 機(jī)器學(xué)習(xí)(或者,實(shí)際上是任何類型的科學(xué)計(jì)算)的重要部分。 在這里我主要快速介紹一下重要基本的功能。

import numpy as np

# 設(shè)置隨機(jī)種子來獲得可重復(fù)性
rnd = np.random.RandomState(seed=520)

# 生成隨機(jī)數(shù)組
# Array: shape(3, 5); 
#        value: [0, 1]
X = rnd.uniform(low=0.0, high=1.0, size=(3, 5)) 

print(X)

(請(qǐng)注意,NumPy 數(shù)組也是從 0 開始的索引)

# 元素訪問

# 獲取單個(gè)元素
# (這里是第一行第一列的元素)
print(X[0, 0])

# 獲取一行
# (這里是第二行)
print(X[1])

# 獲取一列
# (這里是第二列)
print(X[:, 1])

# 數(shù)組轉(zhuǎn)置
print(X.T)
# 創(chuàng)建均勻間隔的數(shù)字的行向量。
y = np.linspace(0, 12, 5) # 從0開始,到12結(jié)束,數(shù)量為5
print(y)

# 將行向量轉(zhuǎn)換為列向量
print(y[:, np.newaxis])


# 獲得形狀或改變數(shù)組形狀

# 生成隨機(jī)數(shù)組
rnd = np.random.RandomState(seed=520)
X = rnd.uniform(low=0.0, high=1.0, size=(3, 5))

# X的大?。?,5) 
print(X.shape)

# 將 X 大小變?yōu)?(5,3)
X_reshaped = X.reshape(5, 3)
print(X_reshaped)

# 使用整數(shù)數(shù)組的索引(花式索引)
indices = np.array([3, 1, 0])
print(indices)
# 取X的第4,2,1列作為新數(shù)組
X[:, indices]

3. SciPy 稀疏數(shù)組

雖然我們平時(shí)不會(huì)大量使用它們,但稀疏矩陣在某些情況下非常好用。 在一些機(jī)器學(xué)習(xí)任務(wù)中,尤其是與文本分析相關(guān)的任務(wù),數(shù)據(jù)可能大多為零。 存儲(chǔ)所有這些零是非常低效的,并且以僅包含“非零”值的方式表示可以更有效。 我們可以創(chuàng)建和操作稀疏矩陣,如下所示:

# 創(chuàng)建一個(gè)包含大量零的隨機(jī)數(shù)組
rnd = np.random.RandomState(seed=123)

X = rnd.uniform(low=0.0, high=1.0, size=(10, 5))
print(X)

# 將大多數(shù)元素設(shè)置為零
X[X < 0.7] = 0
print(X)

from scipy import sparse
# 將 X 轉(zhuǎn)換為 CSR(壓縮稀疏行)矩陣
X_csr = sparse.csr_matrix(X)
print(X_csr)

# 將稀疏矩陣轉(zhuǎn)換為密集數(shù)組
print(X_csr.toarray())

(你可能偶然發(fā)現(xiàn)了一種將稀疏表示轉(zhuǎn)換為密集表示的替代方法:numpy.todense;toarray返回一個(gè) NumPy 數(shù)組,而todense返回一個(gè) NumPy 矩陣。在本教程中,我們將使用 NumPy 數(shù)組,而不是矩陣;scikit-learn 不支持后者。)

CSR 表示對(duì)于計(jì)算非常有效,但它不適合添加元素。 為此,LIL(List-In-List)表示更好:

# 創(chuàng)建一個(gè)空的 LIL 矩陣并添加一些項(xiàng)目
X_lil = sparse.lil_matrix((5, 5))

for i, j in np.random.randint(0, 5, (15, 2)):
    X_lil[i, j] = i + j

print(X_lil)
print(type(X_lil))

X_dense = X_lil.toarray()
print(X_dense)
print(type(X_dense))

通常,一旦創(chuàng)建了 LIL 矩陣,將其轉(zhuǎn)換為 CSR 格式很有用(許多 scikit-learn 算法需要 CSR 或 CSC 格式)

X_csr = X_lil.tocsr()
print(X_csr)
print(type(X_csr))

可用于各種問題的可用稀疏格式包括:

  • CSR(壓縮稀疏行)
  • CSC(壓縮稀疏列)
  • BSR(塊稀疏行)
  • COO(坐標(biāo))
  • DIA(對(duì)角線)
  • DOK(鍵的字典)
  • LIL(列表中的列表)

scipy.sparse子模塊還有很多稀疏矩陣的函數(shù),包括線性代數(shù),稀疏求解器,圖算法等等。

4. Matplotlib

機(jī)器學(xué)習(xí)的另一個(gè)重要部分是數(shù)據(jù)可視化。 Python 中最常用的工具是matplotlib。 這是一個(gè)非常靈活的包,我們將在這里介紹一些基礎(chǔ)知識(shí)。

由于使用的是 Jupyter,所以使用 IPython 方便的內(nèi)置“魔術(shù)函數(shù)”,即“matoplotlib內(nèi)聯(lián)”模式,它將直接在筆記本內(nèi)部繪制圖形。

%matplotlib inline

import matplotlib.pyplot as plt

# 繪制直線
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x));

# 散點(diǎn)圖
x = np.random.normal(size=500)
y = np.random.normal(size=500)
plt.scatter(x, y);

# 使用 imshow 展示繪圖
# - note that origin is at the top-left by default!

x = np.linspace(1, 12, 100)
y = x[:, np.newaxis]

im = y * np.sin(x) * np.cos(y)
print(im.shape)

plt.imshow(im);

# 輪廓圖
# - 請(qǐng)注意,此處的原點(diǎn)默認(rèn)位于左下角!
plt.contour(im);

# 3D 繪圖
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
xgrid, ygrid = np.meshgrid(x, y.ravel())
ax.plot_surface(xgrid, ygrid, im, cmap=plt.cm.viridis, cstride=2, rstride=2, linewidth=0);

有許多可用的繪圖類型。 查看matplotlib庫是一個(gè)很快的學(xué)習(xí)方法。

總結(jié)

到此這篇關(guān)于Python中Numpy和Matplotlib基本使用的文章就介紹到這了,更多相關(guān)Python Numpy和Matplotlib使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python網(wǎng)絡(luò)安全格式字符串漏洞任意地址覆蓋大數(shù)字詳解

    Python網(wǎng)絡(luò)安全格式字符串漏洞任意地址覆蓋大數(shù)字詳解

    這篇文章主要介紹了Python網(wǎng)絡(luò)安全格式字符串漏洞任意地址覆蓋大數(shù)字的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • pandas 取出表中一列數(shù)據(jù)所有的值并轉(zhuǎn)換為array類型的方法

    pandas 取出表中一列數(shù)據(jù)所有的值并轉(zhuǎn)換為array類型的方法

    下面小編就為大家分享一篇pandas 取出表中一列數(shù)據(jù)所有的值并轉(zhuǎn)換為array類型的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 淺談Python __init__.py的作用

    淺談Python __init__.py的作用

    這篇文章主要介紹了淺談Python __init__.py的作用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python functools.lru_cache裝飾器性能提升利器深入探究

    Python functools.lru_cache裝飾器性能提升利器深入探究

    本文將詳細(xì)介紹functools.lru_cache裝飾器的原理、用法以及適當(dāng)?shù)膱?chǎng)景,以幫助你更好地利用這一功能,它可以用來緩存函數(shù)的輸出,以避免重復(fù)計(jì)算,從而顯著提高程序的執(zhí)行速度
    2024-01-01
  • Python Docx庫完美操作word文檔實(shí)例探究

    Python Docx庫完美操作word文檔實(shí)例探究

    這篇文章主要為大家介紹了Python Docx庫完美操作word文檔,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 拿來就用!Python批量合并PDF的示例代碼

    拿來就用!Python批量合并PDF的示例代碼

    這篇文章主要介紹了Python批量合并PDF的示例代碼,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • python f-string式格式化聽語音流程講解

    python f-string式格式化聽語音流程講解

    在本篇文章中小編給大家整理的是關(guān)于python f-string式格式化聽語音的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • python3?最常用的三種裝飾器語法匯總

    python3?最常用的三種裝飾器語法匯總

    這篇文章主要介紹了python3?最常用的三種裝飾器語法總結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python如何實(shí)現(xiàn)反向迭代

    python如何實(shí)現(xiàn)反向迭代

    這篇文章主要為大家詳細(xì)介紹了python如何實(shí)現(xiàn)反向迭代,進(jìn)行反向迭代,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python中調(diào)試或排錯(cuò)的五種方法示例

    python中調(diào)試或排錯(cuò)的五種方法示例

    這篇文章主要給大家介紹了關(guān)于python中調(diào)試或排錯(cuò)的五種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論