pandas.DataFrame
の行要素内にnumpy配列を作成する最小の例を示します。pandasは、行要素内のnumpy配列を正しく扱います。
TL; DR:DataFrame
のスクリーンショットを参照してこのコードはその時、最小値を返す、scipy.optimize.brute
を使用して、特定の関数の最小値を求め、最小が発見された変数二numpyのアレイ関数を評価しました。
import numpy
import scipy.optimize
import itertools
sin = lambda r, phi, x: r * np.sin(phi * x)
def func(r, x):
x0, fval, grid, Jout = scipy.optimize.brute(
sin, ranges=[(-np.pi, np.pi)], args=(r, x), Ns=10, full_output=True)
return dict(phi_at_min=x0[0], result_min=fval, phis=grid, result_at_grid=Jout)
rs = numpy.linspace(-1, 1, 10)
xs = numpy.linspace(0, 1, 10)
vals = list(itertools.product(rs, xs))
result = [func(r, x) for r, x in vals]
# idk whether this is the best way of generating the DataFrame, but it works
df = pd.DataFrame(vals, columns=['r', 'x'])
df = pd.concat((pd.DataFrame(result), df), axis=1)
df.head()
は、私は、これは私がこれを行うことになっていますし、多分何とかリストを展開する方法ではないことを期待しています。これを正しく、美しく、きれいに処理するにはどうすればよいですか?
ない質問は、現在の形で応答可能であることを確認してください例えば評価格子点2ですべての値を選択することができます - あなたは出力が期待する何をすべきかのように見える? "美しくてきれいな"は、見る人の目の中にとてもあることがあります... –