Q1: 在numpy的argmax (argmin)指令中,如果陣列最大值(或最小值)的數字出現在兩個以上的元素,指令只會抓出其中index最小的位置。如果想要抓出所有最大值的位置,是不是有別的指令?
A = np.array([1,2,3,1])
indminA = np.argmin(A) ← smallest index of where minimum of A occur
A1: 先找出最大/小值,用 (A==…).nonzero()找出與最大(小)值相等的所有位置:
minA = np.amin(A)
all_indminA = (A==minA).nonzero()
all_indminA[:] ← indices of where minimum of A occur

Series也類似:

使用isin():

要取得元素 == True的index
原本要寫好幾行:

現在只要一行:
boolAry.nonzero()
輸出: (array([0, 3], dtype=int64),)
需要注意,其為長度1的tuple
boolAry.nonzero()[0] 才是array
pandas如何用 .iloc[bool_list] 取出判斷式為真的那一列?
pandas.Series.str.contains(“Hz”)
處理DataFrame常會用到bool_list
需要取得元素==True的index
可用.nonzero()替代
boolAry:

想取出元素(==True的index)有點特別
boolAry.nonzero():

推薦hahow線上學習python: https://igrape.net/30afN
![Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言 Python: 自定義函數計算計程車車資(先typing,再用預設值), 巢狀字典以及typing.Union[ ], assert 斷言](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2022/09/20220923222039_57.png?quality=90&zoom=2&ssl=1&resize=350%2C233)


![Python struct.pack() 將整數轉換為bytes ; while list: str1=list[0] ; 中間內容; list=[1:] #切片 ,遍歷list中的每一個元素,跟for i in list 類似 ; timeit() #計時 Python struct.pack() 將整數轉換為bytes ; while list: str1=list[0] ; 中間內容; list=[1:] #切片 ,遍歷list中的每一個元素,跟for i in list 類似 ; timeit() #計時](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2022/10/20221012095050_42.png?quality=90&zoom=2&ssl=1&resize=350%2C233)






近期留言