<p>目的:为x计算一些二元多项式,例如f(x,y)=sin(x^2+y^2)∈ [-1,1]和y∈ [-1,1]并将值固定在数据帧中</p>
<p>我所拥有的</p>
<pre><code>def sunbrero(x,y):
return np.sin(x**2 + y**2)
lower=-1
upper=1
length=1000
X = np.linspace(lower, upper, num=length)
Y = np.linspace(lower, upper, num=length)
Z = pd.DataFrame(index=X,columns=Y)
# [[sunbrero(x,y) for x in X] for y in Y]
for y in Y:
Z[y] = [sunbrero(x,y) for x in X]
</code></pre>
<p>我希望做的是取代</p>
<pre><code>for y in Y:
Z[y] = [sunbrero(x,y) for x in X]
</code></pre>
<p>…有点像</p>
<pre><code>[[Z[y] = sunbrero(x,y) for x in X] for y in Y]
</code></pre>
<p>但显然,上述方法不起作用</p>
<p>我知道这是有效的</p>
<pre><code>Z = [[sunbrero(x,y) for x in X] for y in Y]
</code></pre>
<p>…但它创建的是列表列表,而不是数据帧</p>
<p>注1:如果其他人认为2D向量更适合c.f数据帧,我也愿意接受</p>
<p>注2:我认为lambda函数不起作用,因为它只允许定义一个变量。很高兴被纠正</p>