Python NumPy 多維陣列 ndarray 基礎 By 彭彭

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 50

  • @pollywang5070
    @pollywang5070 3 ปีที่แล้ว +17

    老師早安:
    感謝您製作這麼優質的一系列教學影片,我是一名小6自學生,正在學習Numpy,老師講解得非常清楚,是非常有系統的教授課程,很容易就上手和學會,讓我收穫滿載,祝福闔家富貴安康!大吉大利!心想事成!萬事如意!

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      謝謝你的回饋,希望你能變得很厲害呦,加油加油 :)))))

  • @王國芯
    @王國芯 3 ปีที่แล้ว +4

    喜歡老師的影片 帶領初學者認識 真的是淺顯易懂

  • @bbcaa-hy4rm
    @bbcaa-hy4rm 4 หลายเดือนก่อน +1

    老师讲的很通透,很仔细

  • @AK-di6xs
    @AK-di6xs 3 ปีที่แล้ว +2

    感謝彭彭老師超詳細教陣列維度的概念,高中學陣列式學的一個霧煞煞,這一次終於有種聽懂的感覺 好像人生少了一點遺憾的感覺
    超級謝謝老師~ 太感謝了!!!
    =========================
    # 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)

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      謝謝你詳細的回饋哪,能夠幫你少一點遺憾我覺得很榮幸 :)))))

  • @stevenchang4784
    @stevenchang4784 6 หลายเดือนก่อน +1

    感謝,終於讓我了解了幾十年無法理解多維度的"陣列‘的概念。就是層次而已。手動的初始,就想像成json格式。也難怪傳統的BI只能呈現三維,因為是人體的極限。

    • @cwpeng-course
      @cwpeng-course  5 หลายเดือนก่อน

      很高興對你有幫助,讚讚 :)

  • @楊景皓-v4n
    @楊景皓-v4n 3 ปีที่แล้ว +6

    謝謝老師出的教學影片(剛把基礎篇看完),我會好好把廣告看完><
    想多學機器學習類型的,希望老師可以多出一點
    希望未來會出Matplotlib系列
    因為老師講解的真的很清楚!又很幽默!!!!!!!! 完全不會膩

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +2

      不會呦,謝謝你的回饋和支持,也很高興對你有幫助 :)
      好哦,我有收到建議了,之後的內容會多考慮的 ~~~~~

  • @HaoDemmy
    @HaoDemmy 7 หลายเดือนก่อน +1

    非常優質!

    • @cwpeng-course
      @cwpeng-course  6 หลายเดือนก่อน

      感謝您的回饋 :)

  • @mmmcorp8505
    @mmmcorp8505 4 ปีที่แล้ว +1

    thanks for your lecture good to undersatand machine learning . Im using your lecture to learn taiwan chinese. from S Korea

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว

      Welcome! Thanks for your feedback. :)

  • @alexwu7111
    @alexwu7111 4 ปีที่แล้ว +3

    彭彭老師,你怎麼這麼可愛,後半段很幽默!

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +2

      哈哈哈哈,謝謝你這麼說 >////

  • @山田林-f5b
    @山田林-f5b 8 หลายเดือนก่อน +1

    大感謝

  • @klm.7281
    @klm.7281 หลายเดือนก่อน +1

    筆記:
    np.ones([2,1,1,2]) = [ [[[ 1,1 ]]] , [[[ 1 , 1 ]]] ]
    每組 [ ] 中的空間意味一個維度空間。
    [2,1,1,2] ,四個數字即四維。
    [2,3,4,5] ,即 (四維中)有2個三維、每三維中有3個二維、每二維中有4個一維、每一維中有5個數字。

    • @klm.7281
      @klm.7281 หลายเดือนก่อน +1

      基本指令: 2:46 , 3:54 , 8:35

    • @cwpeng-course
      @cwpeng-course  หลายเดือนก่อน

      感謝整理 :)

  • @張耕石
    @張耕石 3 ปีที่แล้ว

    請問為什麼像是24:25 25:21 28:15這些矩陣在TERMINAL有空行呢?
    有的有一行有的兩行
    其他的矩陣為什麼沒有?
    請問有空行的邏輯或規則是什麼呢?

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      那只是顯示的細節而已,我們沒辦法控制 numpy 陣列被印出來的時候,要怎麼顯示資料,只要確認那些資料是正確的即可。

  • @helmvon5190
    @helmvon5190 ปีที่แล้ว

    老师好,我现在需要学习商业分析技能。具体是数据的清洗、缺失处理以及爬虫等。目前是把python基础学完了,现在是学numpy好,还是直接上手pandas呢?我还只有三个月的学习时间。希望获得一份建议,感谢老师的回复!

    • @cwpeng-course
      @cwpeng-course  ปีที่แล้ว

      可以直接学 Pandas,碰到关于 NumPy 的程式码不理解时,再回头确认 NumPy 的细节。

  • @bensonlee1140
    @bensonlee1140 3 ปีที่แล้ว +1

    老師,我的computer找不到numpy模組,為什麼

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      確定有安裝的話,就要看看電腦裡是否有其他 Python 的虛擬環境在運作,例如 Anaconda 這類的,會導致環境互相衝突 ~

  • @劉嘉英-f6f
    @劉嘉英-f6f 3 ปีที่แล้ว

    老師教的深入淺出 謝謝老師 請問未來會有GUI的課程嗎,如果是會員收費我也樂意參加喔

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      短期間之內應該不會,但謝謝你的建議,我會考慮看看的 :)

  • @蔡潮宗
    @蔡潮宗 3 ปีที่แล้ว

    老師 我想問個問題,關於「 多維陣列」層次的概念:Data = np.array([
    [
    [
    [ 2,1],[5,-6]
    ],
    [
    [3;4] ,[5,0]
    ]
    ]
    ])
    這樣是一個1*1*2*2=4(共有四筆資料),但疑問的是第一個『1』是把整個視為1個完整的資料嗎,從[2,1]~[5,0] , 但第二個『1』是代表什麼意思啊?

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      你最後寫 print(Data.shape) 把形狀印出來看看,這是一個 1x2x2x2 的陣列,共 8 筆資料哦 ~

  • @yanclin_tech
    @yanclin_tech 4 ปีที่แล้ว +2

    彭彭老師,請問numpy 與pandas是否會結合在一起使用? 謝謝老師

    • @cwpeng-course
      @cwpeng-course  4 ปีที่แล้ว +2

      Pandas 本身就使用 NumPy 當基礎套件了哦,學一學之後會發現我們談的二維陣列就是 Pandas 裡面 DataFrame 的核心 ~

  • @FxTs-x7p
    @FxTs-x7p 2 ปีที่แล้ว

    請問老師該PPT是如何能夠拿到 成為會員嗎

    • @cwpeng-course
      @cwpeng-course  2 ปีที่แล้ว

      目前不會分享 PPT 哦,會員也不會 ~

  • @yuj.9319
    @yuj.9319 3 ปีที่แล้ว

    老師,有沒有適合菜鳥的python練習題?

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว +1

      你可以看看這個高中生程式解題系統:
      zerojudge.tw/Problems

  • @joe_1chen
    @joe_1chen 3 ปีที่แล้ว

    老師您好,聽到你說可以創造一個未指定資料的陣列,那我該如何把資料丟到裡面呢? 初學請見諒~~

    • @Stephen33421
      @Stephen33421 3 ปีที่แล้ว +1

      tmp = np.empty(3) #建立一個未指定資料的陣列
      # 填入值 [3,4,5]
      tmp[0] = 3
      tmp[1] = 4
      tmp[2] = 5

    • @cwpeng-course
      @cwpeng-course  3 ปีที่แล้ว

      感謝 @Stephen Huang 的說明 :)

  • @興-e1j
    @興-e1j 3 ปีที่แล้ว +1

    唐僧:念這個經不容易
    孫悟空:腦袋炸裂

  • @renzy4584
    @renzy4584 2 ปีที่แล้ว +1

    感觉PPT......更好看了