<p>您可以将数据帧转换为NumPy阵列,如下所示:
<code>df.to_numpy()</code></p>
<p>在收到类似以下内容后:</p>
<pre class="lang-py prettyprint-override"><code>a = np.random.randint(5, size=(4, 2, 5))
</code></pre>
<p>这里的每个块都是您的列:</p>
<pre><code>array([[[2, 4, 1, 1, 1],
[4, 0, 1, 4, 0]],
[[1, 2, 4, 4, 3],
[0, 1, 4, 4, 0]],
[[0, 0, 0, 0, 2],
[3, 0, 4, 2, 2]],
[[2, 0, 3, 1, 0],
[1, 1, 3, 3, 1]]])
</code></pre>
<p>然后用axis求和:</p>
<pre class="lang-py prettyprint-override"><code>np.sum(a, axis=1)
</code></pre>
<p>收益率:</p>
<pre><code>array([[6, 4, 2, 5, 1],
[1, 3, 8, 8, 3],
[3, 0, 4, 2, 4],
[3, 1, 6, 4, 1]])
</code></pre>
<p>准备创建数据帧</p>
<pre class="lang-py prettyprint-override"><code>dd = {f'Day{n}':np.array2string(i, separator=',')
for n,i in enumerate(list(np.sum(ar, axis=1)), start=1)}
</code></pre>
<p>创建<code>df</code>:</p>
<pre class="lang-py prettyprint-override"><code>df = pd.DataFrame(list(dd.values()), index=dd.keys()).T
</code></pre>
<p>收益率:</p>
<pre><code> Day1 Day2 Day3 Day4
0 [6,4,2,5,1] [1,3,8,8,3] [3,0,4,2,4] [3,1,6,4,1]
</code></pre>