嗨嗨,今天已經來到了鐵人比賽的第十四天了,竟然也默默要走完一半了呢!
在之前我們已經將pandas的概念以及使用說明完了,現在要進入Numpy這個主題了,其實在之前幾篇文章中已經有稍微使用到Numpy,只是都沒有深入的說明,接下來幾天我將會深入的說明它是如何使用的,敬請期待!
若是想看更多Numpy的介紹:
今天,來聊聊ndarray是什麼吧。
ndarray, a fast and space-efficient multidimensional array providing vectorized arithmetic operations and sophisticated broadcasting capabilities
簡單來說ndarray是一個快速的且可以節省空間的多維度陣列,提供向量運算以及複雜的功能,所謂的廣播功能是什麼,不用擔心,下面會繼續說明的!
首先,我們先引入Numpy
這個套件:
import numpy as np
建立資料data:
data = np.array([[ 0.226, -0.23 , -0.86],
[ 0.5639, 0.2379, 0.904]])
我們使用np.array()
這個方法,可以看到上面建立一個矩陣的資料。
輸出data可以看到:
array([[ 0.226 , -0.23 , -0.86 ],
[ 0.5639, 0.2379, 0.904 ]])
我們可以提供我們要的資料類型給它,只需要在括號內加上dtype=資料類型
np.array([1, 2, 3], dtype=complex)
可以看到輸出:
array([ 1.+0.j, 2.+0.j, 3.+0.j])
創建資料的方法,也可以先建立一個list:
data1 = [6, 7.5, 8, 0, 1]
使用np.array()
arr1 = np.array(data1)
輸出arr1
就可以看到輸出結果:
array([ 6. , 7.5, 8. , 0. , 1. ])
當然,資料不一定一定要一維的:
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
上面這裡我們是給一個二維的陣列,一樣可以轉成ndarrays:
arr2 = np.array(data2)
要如何看資料(ndarray)有多少維?
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(data2)
arr2.ndim
使用ndim
,上面的程式碼可以得到2
。
記得要是ndarray的型態才可以用哦
如果資料是list忘記轉成ndarray會得到以下錯誤:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-27-78cb2f6fe29a> in <module>()
----> 1 data1.ndim
AttributeError: 'list' object has no attribute 'ndim'
若是想看是幾乘幾的矩陣可以使用shape
這個方法:
arr2.shape
就可以得到 (2,4)
它和pandas相同也可以看資料類型:
data.dtype
今天簡單說明了什麼是ndarray,講解了如何建立ndarray這樣的資料類型,還有查看資料的資訊,接下來會繼續說明如何操作ndarray的資料。
更多資訊:
numpy.array
簡單來說ndarray是一個快速的且可以節省空間的多維度陣列,提供向量運算以及複雜的
廣播光能
,所謂的廣播功能是什麼,不用擔心,下面會繼續說明的!
裡面有錯字喔XD
光能
?????XDD 謝謝你~~