如何通过切片索引来计算数据框

时间:2020-07-08 11:55:23

标签: python pandas

我有数据

A=[0.1,0.3,0.5,0.7,0.9,1.1,1.3,1.5,1.7] 
B=[3,4,6,8,2,10,2,3,4]

如果A是我的索引,而B是与A对应的值。我必须将前三个即[0.1,0.3,0.5]分组,并计算B中的平均值,即[3,4,6]。类似地,对应于[8,2,10]的第二3个数据[0.7,0.9,1.1]的平均值和对应于[2,3,4]的{​​{1}}的平均值,然后为这三个平均值准备表格。最终数据框应为

[1.3,1.5,1.7]

1 个答案:

答案 0 :(得分:1)

如果需要每3个值聚合mean,请使用DataFrame的长度的辅助数组,并用GroupBy.mean将整数除以3:

A=[0.1,0.3,0.5,0.7,0.9,1.1,1.3,1.5,1.7] 
B=[3,4,6,8,2,10,2,3,4]
 
df = pd.DataFrame({'col':B}, index=A)
print (df)
     col
0.1    3
0.3    4
0.5    6
0.7    8
0.9    2
1.1   10
1.3    2
1.5    3
1.7    4
df = df.groupby(np.arange(len(df)) // 3).mean()
df.index +=1
print (df)
        col
1  4.333333
2  6.666667
3  3.000000