df只有一列a
从第一行开始a的每10行相加放到a的后边形成suma
第一个suma =sum(df.a[0:9])
第2个suma =sum(df.a[1:10])
用最笨的方法计算 大概3个小时
有没有高效的方法呢
3个回答
你可以插入一个辅助列叫flag,第0-9行flag=0,10-19行flag=1,20-29行flag=2.
df['flag'] = np.arange(len(df)) // 10
然后以flag为key对a列进行groupby求和就可以了
df.groupby('flag', as_index=False).agg({'a': 'sum'})
SofaSofa数据科学社区DS面试题库 DS面经
suma.at[0,s] =sum(df.a[0:9])
suma.at[1,s] =sum(df.a[1:10])
求和是有交叉的
-
constant007
2019-06-23 16:12