这是我的熊猫数据框。
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()
我成功了:
好吧,我的问题是我需要在这个由'Ticker Suby'分组的新df中应用字段'Rtdo_Bruto_x_Estrat'和'Rtdo_Neto_x_Estrat'的累积值。我的目标是:
我用过:
df.groupby(by=['Fecha_Hora','Ticker_Suby']).sum().groupby(level=[1]).cumsum()
我得到了:
所以,真的我的问题是如何让两个解决方案都在同一个数据帧上。
非常感谢。
答案 0 :(得分:1)
使用由DataFrames
创建的cumsum
concat
,差异为Dataframe
由groupby
由level=0
创建,其次为{{} 1}}:
level=1