2017-02-11 53 views
1

我有以下数据:熊猫计算平均连续两行和保存产生两个细胞

INPUT

ID A 
1 0.040 
2 0.086 
3 0.127 
4 0.173 
5 0.141 
6 0.047 
7 0.068 
8 0.038 

我想创建-B柱上,每两排在B具有从A相同的平均如下:

OUTPUT

ID A  B 
1 0.040 0.063 
2 0.086 0.063 
3 0.127 0.150 
4 0.173 0.150 
5 0.141 0.094 
6 0.047 0.094 
7 0.068 0.053 
8 0.038 0.053 

我想这个代码

df["B"]= (df['A'] + df['A'].shift(-1))/2 

我得到了平均水平,但我不能让它distrbute双行。

回答

0

你能做到这样:

In [10]: df['B'] = df.groupby(np.arange(len(df)) // 2)['A'].transform('mean') 

In [11]: df 
Out[11]: 
    ID  A  B 
0 1 0.040 0.063 
1 2 0.086 0.063 
2 3 0.127 0.150 
3 4 0.173 0.150 
4 5 0.141 0.094 
5 6 0.047 0.094 
6 7 0.068 0.053 
7 8 0.038 0.053 
+0

这是工作,谢谢。 –

+0

@ SedeeqAl-Khazraji,欢迎您 – MaxU