回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我需要计算从一个多指数能级开始的差,来计算从一个能级开始的衰变。我的示例输入和输出如下所示:</p>
<pre><code> values
place time
A a 120
b 100
c 90
d 50
B e 11
f 12
g 10
h 9
values
A a NaN
b -20
c -30
d -70
B e Nan
f +1
g -1
h -2
</code></pre>
<p>我可以使用grouby来获得一个级别中连续单元格之间的差异:</p>
^{pr2}$
<p>但那不是我想要的!在</p>
<p>唉,公认的答案不是我想要的。我有一个更好的例子:</p>
<pre><code>arrays = [np.array(['bar', 'bar', 'bar', 'foo', 'foo', 'foo']),
np.array(['one', 'two', 'three', 'one', 'two', 'three'])]
df = pd.DataFrame([1000, 800, 500, 800, 400, 200], index=arrays)
bar one 1000
two 800
three 500
foo one 800
two 400
three 200
expected_result = pd.DataFrame([Nan, -200, -500, Nan, -400, -600], index=arrays)
bar one Nan
two -200
three -500
foo one Nan
two -400
three -600
</code></pre>
<p>但是<code>df.groupby(level=0).diff().cumsum()</code>的结果给出:</p>
<pre><code>pd.DataFrame([Nan, -200, -500, Nan, -900, -1100], index=arrays)
bar one Nan
two -200
three -500
foo one Nan
two -900
three -1100
</code></pre>