我遇到過很多情況,我必須遍歷 CSV 或其他資料檔案,找到一些匹配幾個條件的資料并將這些資料放入單個陣列中。非常標準和常見的 Numpy 行為。
我的一般方法是設定一個串列,在 for 回圈中查找值,附加到該串列,然后在最后轉換回一個陣列。
stats = []
for i in range(len(headers)):
max_value = np.max(data[:, i])
stats.append(max_value)
all_stats = np.array(stats, dtype = float)
這看起來很臃腫,當我還想為不同的條件插入不同的值時,它并不可靠。在 for 回圈中構建值陣列的最佳方法是什么,其中結果陣列的大小不會提前知道?
謝謝!
uj5u.com熱心網友回復:
從您的代碼的外觀來看,您可能擁有:
all_stats = np.max( data[:,:len(headers)], axis=1)
以矢量化(更快)的方式為您提供相同的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/461265.html
