回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>全部,</p>
<p>我有以下长格式数据帧:</p>
<pre><code>df = pd.DataFrame({'date': ["2020-01-01","2020-01-01","2020-01-02","2020-01-02","2020-01-01","2020-01-01","2020-01-02","2020-01-02"], 'asset': ["x", "x","x", "x","y","y","y","y"], 'type': ["price", "spread","price","spread","price", "spread","price","spread"], 'value': ["1.5", "0.01","1.6", "0.01","1","0.08","1.2","0.09"]})
</code></pre>
<p>看起来是这样的:</p>
<pre><code> date asset type value
0 2020-01-01 x price 1.5
1 2020-01-01 x spread 0.01
2 2020-01-02 x price 1.6
3 2020-01-02 x spread 0.01
4 2020-01-01 y price 1
5 2020-01-01 y spread 0.08
6 2020-01-02 y price 1.2
7 2020-01-02 y spread 0.09
</code></pre>
<p>我想从<code>x</code>的价格中减去<code>y</code>的价格,并保持相同的数据结构,结果应该如下所示:</p>
<pre><code> date asset type value
0 2020-01-01 x price 1.5
1 2020-01-01 x spread 0.01
2 2020-01-02 x price 1.6
3 2020-01-02 x spread 0.01
4 2020-01-01 y price 1
5 2020-01-01 y spread 0.08
6 2020-01-02 y price 1.2
7 2020-01-02 y spread 0.09
8 2020-01-01 x_min_y pricediff 0.5
9 2020-01-02 x_min_y pricediff 0.4
</code></pre>
<p>我想使用pandas的<code>assign()</code>函数来创建它,但我不确定如何做到这一点</p>
<p>提前谢谢</p>