Python 数据帧条件Groupby
我有这个DF:Python 数据帧条件Groupby,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有这个DF: df = pd.DataFrame(data=[[-2.000000, -1.958010, 0.2], [-1.958010, -1.916030, 0.4], [-1.916030, -1.874040, 0.3], [-1.874040, -1.832050, 0.6], [-1.832050, -1.79007
df = pd.DataFrame(data=[[-2.000000, -1.958010, 0.2],
[-1.958010, -1.916030, 0.4],
[-1.916030, -1.874040, 0.3],
[-1.874040, -1.832050, 0.6],
[-1.832050, -1.790070, 0.8],
[-1.790070, -1.748080, 0.2]],columns=['egystart','egyend','fx'])
所以我想每两行分组,得到fx作为这两行的平均值。egystart应该由第一排的egystart和egyend组成,egyend应该由第二排的egyend组成
在这种情况下,我应获得:
-2.000000 -1.916030 0.3
-1.916030 -1.832050 0.45
-1.832050 -1.748080 0.5
所以我试过这样的方法:
df.groupby((df.egystart == df.egyend.shift(1)).cumsum()).agg({'egystart':min, 'egyend':max, 'fx':HERE_THE_MEAN_VALUE})
但它不起作用您可以尝试每两行计算一次外汇的平均值:
result = df.groupby(np.arange(len(df))//2).mean()
print(result)
egystart egyend fx
0 -1.979005 -1.937020 0.30
1 -1.895035 -1.853045 0.45
2 -1.811060 -1.769075 0.50