感謝,終於讓我了解了幾十年無法理解多維度的"陣列‘的概念。就是層次而已。手動的初始,就想像成json格式。也難怪傳統的BI只能呈現三維,因為是人體的極限。
謝謝老師出的教學影片(剛把基礎篇看完),我會好好把廣告看完><
想多學機器學習類型的,希望老師可以多出一點
希望未來會出Matplotlib系列
因為老師講解的真的很清楚!又很幽默!!!!!!!! 完全不會膩
感謝彭彭老師超詳細教陣列維度的概念,高中學陣列式學的一個霧煞煞,這一次終於有種聽懂的感覺 好像人生少了一點遺憾的感覺
超級謝謝老師~ 太感謝了!!!
=========================
# ndarray 多維陣列
# 多維陣列 : N-Dimensional Array (ndarray)
# 多維陣列 ndarray 是 NumPy 核心物件
# 運算速度遠高於列表
# 適合多維度的數值運算
# 建立多維陣列
# import numpy as np
# 建立一維陣列 : 最基本的陣列形式 (相當於原本python的列表)
# 根據列表建立 : np.array([3,5,4])
# 建立資料未指定的一維陣列 : np.empty(3) # 有三個空間但資料未定
# 建立資料都是 0 的一維陣列 : np.zeros(3)
# 建立資料都是 1 的一維陣列 : np.ones(3)
# 建立連續資料的一維陣列 : np.arange(10) # 一維陣列 : 資料 0123456789
# 建立二維陣列 : 類似表格的概念
# 根據列表建立 :
# np.array([
# [1,2],
# [3,2],
# [5,0]
# ]) # 列表裡面又有列表 -> 兩個層次, 3 * 2 的二維陣列因第一層次有3個資料(3個列表),第二層次有兩個資料
# 建立資料未指定的二維陣列 : np.empty([3,2]) # 3*2
# 建立資料都是 0 的二維陣列 : np.zeros([3,2]) # 3*2
# 建立資料都是 1 的二維陣列 : np.ones([3,2]) # 3*2
# 建立三維陣列 : 類似空間座標系統的概念
# 根據列表建立 :
# np.array([
# [
# [5,2,4],[1,2,8]
# ],[
# [3,8,2],[4,1,3]
# ]
# ]) # 2*2*3 的三維陣列
# 建立資料未指定的三維陣列 : np.empty([2,2,3])
# 建立資料都是 0 的三維陣列 : np.zeros([2,2,3])
# 建立高維陣列 : 超過三個維度的陣列
# 超過三個維度的概念,需要完全以邏輯來推演 # 超過人類生活的想像空間
# 以下是 1*1*2*2 的四維陣列
# np.array([
# [
# [
# [3,2],
# [5,4]
# ]
# ]
# ])
#===================================
# 練習 : 多維陣列的各種建立方式
# 載入 numpy 套件
import numpy as np
# 建立一維陣列
data=np.array([3,2,6,4])
print(data) # 注意印出來的概念 細節會因為作業系統有些許差異不重要
print("===================")
data=np.empty(4) # 創造一個有四個資料的一維陣列,資料未指定
print(data) # 保持那個位置本來的樣子
print("===================")
data=np.zeros(3)
print(data) # 會有 0. 是因為創造時預設使用浮點數,所以 0. 就是 0.0 的意思
print("===================")
data=np.ones(3)
print(data)
print("===================")
data=np.arange(8)
print(data)
print("===================")
# 建立二維陣列
data=np.array([
[2,3,2],
[1,5,2],
[4,2,1]
]) # 創造一個 3*3 的二維陣列
print(data)
print("===================")
data=np.empty([3,3]) # 創造一個 3*3 的二維陣列,資料未指定 # 指定的是陣列的結構,不是資料
print(data)
print("===================")
data=np.ones([2,3]) # 創造一個 2*3 的二維陣列,資料都是 1
print(data)
print("===================")
data=np.zeros([1,3]) # 創造一個 1*3 的二維陣列,資料都是 0
print(data)
print("===================")
# 建立三維陣列
data=np.array([
[
[3,1],[1,2]
],[
[2,5],[10,2]
]
]) # 根據列表,創造一個 2*2*2 的三維陣列
print(data)
print("===================")
data=np.zeros([3,1,3]) # 創造一個 3*1*3 的三維陣列,資料都是0
print(data) # 每一個層次分開看 看是不是 3*1*3
print("===================")
# 建立高維陣列
data=np.array([
[
[
[3,2,1],
[5,5,10]
]
]
]) # 根據列表,創造一個 1*1*2*3 的四維陣列
print(data)
print("===================")
data=np.ones([2,1,1,2]) # 創造一個 2*1*1*2 的四維陣列,資料都是 1
print(data)
thanks for your lecture good to undersatand machine learning . Im using your lecture to learn taiwan chinese. from S Korea
老师好,我现在需要学习商业分析技能。具体是数据的清洗、缺失处理以及爬虫等。目前是把python基础学完了,现在是学numpy好,还是直接上手pandas呢?我还只有三个月的学习时间。希望获得一份建议,感谢老师的回复!
彭彭老師,請問numpy 與pandas是否會結合在一起使用? 謝謝老師
Pandas 本身就使用 NumPy 當基礎套件了哦,學一學之後會發現我們談的二維陣列就是 Pandas 裡面 DataFrame 的核心 ~
老師 我想問個問題,關於「 多維陣列」層次的概念:Data = np.array([
[
[
[ 2,1],[5,-6]
],
[
[3;4] ,[5,0]
]
]
])
這樣是一個1*1*2*2=4(共有四筆資料),但疑問的是第一個『1』是把整個視為1個完整的資料嗎,從[2,1]~[5,0] , 但第二個『1』是代表什麼意思啊?
老師您好,聽到你說可以創造一個未指定資料的陣列,那我該如何把資料丟到裡面呢? 初學請見諒~~
tmp = np.empty(3) #建立一個未指定資料的陣列
# 填入值 [3,4,5]
tmp[0] = 3
tmp[1] = 4
tmp[2] = 5
老師早安:
感謝您製作這麼優質的一系列教學影片,我是一名小6自學生,正在學習Numpy,老師講解得非常清楚,是非常有系統的教授課程,很容易就上手和學會,讓我收穫滿載,祝福闔家富貴安康!大吉大利!心想事成!萬事如意!
謝謝你的回饋,希望你能變得很厲害呦,加油加油 :)))))