在metrics.ipynb 範例程式中 (0,100) 在 python中不是不包含100這個數字嗎,那為什麽(0, 100, 101)是能切出101個刻度(含頭尾)?
回答列表
-
2020/03/08 下午 04:22崴崴贊同數:1不贊同數:0留言數:0
numpy的document有寫:
https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html
預設的endpoint=True
-
2020/03/08 下午 08:46李子明贊同數:1不贊同數:0留言數:0
整理一下:
一、第三個參數,這個參數的名字叫num,用來告知linspace最後要傳回多少個元素。
二、而名字叫endpoint這個參數,是用來說,我們要不要加碼,即num+1,並且在回傳的時候把加碼的部分刪掉,畢竟我們只要num個元素而已。
舉例:
linspace(0,5,6,endpoint=True),第三個參數6是指我們最後要得到6個元素,因為有True,所以是0到5包括5之間平均取6個,因此得到的是[0,1,2,3,4,5]共六個元素。
linspace(0,5,5,endpoint=False),第三個參數5代表最後要得到5個元素,因為有False,所以是0到5包括5之間平均取5+1個,然後捨棄掉最後一個,這樣得到的就是[0,1,2,3,4]就總共得到5個元素。
可以實際動手試試linspace(0,5,6,endpoint=False)會是怎麼一回事。
我在Day1沒看到linspace(0,100),不過如果有的話,linspace(0,100)其實是使用了參數的預設值,還原預設值後,會是linspace(0,100,num=50,endpoint=True)這樣子的,所以會有包括100,合計共50個元素的。
-
2020/03/09 上午 00:11張維元 (WeiYuan)贊同數:0不贊同數:0留言數:2
嗨,
你的描述中「檔案 Day_001_example_of_metrics.ipynb 中 (0,100) 在 python中不是不包含100這個數字嗎」,請問是哪裡提到的?上面的敘述不是說「含頭尾」嗎?
根據文件的說明 numpy.linspace(0, 100) 是含頭尾的,arrange 才是不包含尾。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的 GITHUB 帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/03/11 上午 00:17張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
嗨!
感謝補充位置,這樣比較明確知道要看哪裡:)
關於這個問題「2. 我有看到In [2]: 裡面的註解寫 「含頭尾」,所以我不瞭解的事情是有些程式碼寫 (1,3) 沒有包含3,但 linspace 有包含最後一個數字,那我要怎麼判斷程式碼用 ( ) 時哪些有包含最後一個數字哪些沒有?只能慢慢查 document嗎」 => 對,要看定義的人怎麼設計的,看文件最快!
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃