一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中Numpy和Matplotlib的基本使用指南

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

2022-02-23 00:22HandsomeToDeath Python

numpy庫處理的最基礎數據類型是由同種元素構成的多維數組(ndarray),而matplotlib 是提供數據繪圖功能的第三方庫,其pyplot子庫主要用于實現各種數據展示圖形的繪制,這篇文章主要給大家介紹了關于Python中Numpy和Matplotlib的基本使用指南

1. Jupyter Notebooks

作為小白,我現在使用的python編輯器是Jupyter Notebook,非常的好用,推薦!!!

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

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

在function(后面按[shift] + [tab],可以獲得函數或對象的幫助。

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

你還可以通過執行function?獲得幫助。

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

 

2. NumPy 數組

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

 

import numpy as np

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

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

print(X)

(請注意,NumPy 數組也是從 0 開始的索引)

# 元素訪問

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

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

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

# 數組轉置
print(X.T)
# 創建均勻間隔的數字的行向量。
y = np.linspace(0, 12, 5) # 從0開始,到12結束,數量為5
print(y)

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


# 獲得形狀或改變數組形狀

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

# X的大小(3,5) 
print(X.shape)

# 將 X 大小變為 (5,3)
X_reshaped = X.reshape(5, 3)
print(X_reshaped)

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

 

3. SciPy 稀疏數組

雖然我們平時不會大量使用它們,但稀疏矩陣在某些情況下非常好用。 在一些機器學習任務中,尤其是與文本分析相關的任務,數據可能大多為零。 存儲所有這些零是非常低效的,并且以僅包含“非零”值的方式表示可以更有效。 我們可以創建和操作稀疏矩陣,如下所示:

# 創建一個包含大量零的隨機數組
rnd = np.random.RandomState(seed=123)

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

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

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

# 將稀疏矩陣轉換為密集數組
print(X_csr.toarray())

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

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

# 創建一個空的 LIL 矩陣并添加一些項目
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))

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

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

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

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

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

 

4. Matplotlib

機器學習的另一個重要部分是數據可視化。 Python 中最常用的工具是matplotlib。 這是一個非常靈活的包,我們將在這里介紹一些基礎知識。

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

%matplotlib inline

import matplotlib.pyplot as plt

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

# 散點圖
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);

# 輪廓圖
# - 請注意,此處的原點默認位于左下角!
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庫是一個很快的學習方法。

 

總結

到此這篇關于Python中Numpy和Matplotlib基本使用的文章就介紹到這了,更多相關Python Numpy和Matplotlib使用內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/HandsomeToDeath/p/15493693.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: ak福利午夜在线观看 | 调教催眠改造np总攻 | 香港三级系列在线播放 | 99热国产这里只有精品 | 国产精品亚洲午夜不卡 | 精品视频久久久久 | 四虎tv在线观看884aa | 亚洲系列国产系列 | 五月最新女厕所高跟嘘嘘 | 日本免费一区二区三区四区五六区 | 美女露奶奶 | 国产我不卡 | 91香蕉国产在线观看人员 | 特级毛片全部免费播放器 | 国产精品99在线观看 | 精品久久久久久无码人妻国产馆 | 色哟约| 2022国产麻豆剧果冻传媒入口 | 日韩无遮挡大尺度啪啪影片 | 欧洲网色偷偷亚洲男人的天堂 | 日日摸夜夜爽色婷婷91 | 99久久爱热6在线播放 | 日本欧美大码a在线视频播放 | 亚洲 欧美 国产 综合首页 | 韩国漂亮美女三级在线观看 | 拍拍叫痛的无挡视频免费 | 亚洲一二三区视频 | freexxxx性护士第一次 | 国色天香社区在线 | 国产91对白在线观看 | 2014天堂 | 久久最新地址获取 | 2019中文字幕在线视频 | 小鸟酱视频在线观看 | 四虎永久 | 日韩欧美推理片免费看完整版 | 国产精品女主播自在线拍 | 人妖欧美一区二区三区四区 | 精品免费国产一区二区三区 | 91入口免费网站大全 | 爱情岛论坛亚洲永久入口口 |