【发布时间】:2018-05-15 11:54:57
【问题描述】:
我有一个如下所示的 pd.DataFrame,
Hr Name Count Day
6 1318 10.0 Friday
7 1318 20.0 Friday
8 1318 2.0 Friday
9 1318 18.0 Friday
6 1318 2.0 Monday
7 1318 15.0 Monday
8 1318 2.0 Monday
9 1318 5.0 Monday
6 1319 20.0 Friday
7 1319 30.0 Friday
8 1319 50.0 Friday
9 1319 5.0 Friday
6 1319 3.0 Monday
7 1319 30.0 Monday
8 1319 2.0 Monday
9 1319 5.0 Monday
我想迭代每个 Count 并对 Name 进行求和,如果值 >=20,则为 1。最后计算值达到> = 20的次数。 当 Count 的总和达到 >=20 时,下一个值应与实际值一起计算。
预期的操作:
[{'Friday' :[2,3],'Monday':[1,1]}]
这是周五的做法:
1318Friday[10+20=30 30 >=20 so 1, 2+18 =20 again 1, Total is 2]
1319Friday[20 20 >=20 so 1, 30 again 1,50 again 1,5 is !>=20, Total is 3]
Finally {'Friday' : [2,3]}
我尝试过的代码:
finalresult = [data]
df = pd.DataFrame(finalresult)
df['csum'] = df.groupby(['Day','Name'])['Count'].cumsum()
【问题讨论】:
-
一个更好解释的问题。
标签: python-3.x pandas