我經常發現自己在numpy. 我已經完成了幾種不同的方式,但是,似乎沒有一個是非常優雅的。是否有“正確”的方法來執行以下操作numpy?
import numpy as np
X = np.linspace(0, 1, 100)
Y = np.linspace(0, 1, 100)
mg = np.meshgrid(X, Y)
zipped = np.c_[mg[0].ravel(), mg[1].ravel()]
def harmonic_avg(row):
return 2 * row[0] * row[1] / (row[0] row[1])
result = np.apply_along_axis(harmonic_avg, 1, zipped)
result.reshape(100,100)
uj5u.com熱心網友回復:
在這種情況下,最優雅的方式是直接使用網格網格
result = 2*mg[0]*mg[1]/(mg[0] mg[1])
或者作為一個函式
def harmonic_avg(mg):
return 2*mg[0]*mg[1]/(mg[0] mg[1])
result = harmonic_avg(mg)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454639.html
