我有数据
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]
答案 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