如何应用大熊猫分组的双暨总和?

时间:2017-10-27 08:29:49

标签: python-3.x pandas pandas-groupby

这是我的熊猫数据框。

import pandas as pd

df = pd.DataFrame([
    ['2017-01-01 19:00:00','2017-01-01 19:00:00','2017-01-02 17:00:00','2017-01-01 17:00:00',
     '2017-01-02 19:00:00','2017-01-02 19:00:00'],
                   ['RUT','RUT','RUT','NDX','NDX','NDX'],[1.0,1.0,1.0,1.0,2.0,2.0],[2.0,2.0,1.0,1.0,3.0,3.0]]).T

df.columns=[['Fecha_Hora','Ticker_Suby','Rtdo_Bruto_x_Estrat','Rtdo_Neto_x_Estrat']]
df = df.sort_values(by=['Ticker_Suby','Fecha_Hora',], ascending=True)
df

好吧,我需要总结'Rtdo_Bruto_x_Estrat'和'Rtdo_Neto_x_Estrat'按'Fecha_Hora'和'Ticker_Suby'分组。

我用过:

df.groupby(by=['Fecha_Hora','Ticker_Suby']).sum().groupby(level[0]).cumsum()

我成功了:

enter image description here

好吧,我的问题是我需要在这个由'Ticker Suby'分组的新df中应用字段'Rtdo_Bruto_x_Estrat'和'Rtdo_Neto_x_Estrat'的累积值。我的目标是:

enter image description here

我用过:

df.groupby(by=['Fecha_Hora','Ticker_Suby']).sum().groupby(level=[1]).cumsum()

我得到了:

enter image description here

所以,真的我的问题是如何让两个解决方案都在同一个数据帧上。

非常感谢。

1 个答案:

答案 0 :(得分:1)

使用由DataFrames创建的cumsum concat,差异为Dataframegroupbylevel=0创建,其次为{{} 1}}:

level=1