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面经 相关主题
python里的cdef是什么?
1回答
python倒序的range
1回答
怎么让DataFrame按照某一列绝对值从小到按排列?
2回答
如何将csv中多行变成一行
2回答
如何对将Python dictionary里的key按照value进行排序?
1回答
引用报错ImportError: No module named stats
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!