![](/img/trans.png)
[英]Is there a numpy way to filter an array of arrays by a list of indices
[英]Extend numpy array in a way compatible with builtin arrays
我正在嘗試編寫不依賴於用戶使用np.array
還是內置數組的代碼。 我試圖避免檢查對象類型等。我唯一的問題是擴展數組。 例如,如果我有兩個Python數組a
和b
,以將第一個數組擴展到第二個數組,則可以執行a = a + b
或a.extend(b)
。 另一方面,如果a
是一個numpy數組,則需要使用np.append
或其他方法。
有沒有一種快速的方法可以獨立於np
數組還是Python數組擴展數組?
即使您的函數在輸入上具有靈活性,您的輸出也應為特定類型。 所以我只是將其轉換為所需的輸出類型。
例如,如果我的函數正在使用numpy.array
並返回numpy.array
,但我也想允許輸入list
,那么我要做的第一件事就是將list
轉換為numpy.array
。
像這樣:
def my_func(a, b):
a = np.asarray(a)
b = np.asarray(b)
# do my stuff here
NumPy的append()也適用於列表!
>>> np.append([1,2,3], [1,2,3])
array([1, 2, 3, 1, 2, 3])
如果要自動使結果與輸入類型相同,請嘗試以下操作:
mytype = type(a)
arr = np.append(a, b)
result = mytype(arr)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.