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 檢驗字符串格式:掌握正則表達式(Regular Expression)的起始^與終止$符號, pattern = r’^GATR[0-9]{4}$’ 使用 Python 檢驗字符串格式:掌握正則表達式(Regular Expression)的起始^與終止$符號, pattern = r’^GATR[0-9]{4}$’](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/07/20240712093637_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)





近期留言