这是我想在python中实现的。 excel中有一个简单的公式,pythonic的处理方式是什么?
CUM_FREQ ID
1 100001
2 100001
3 100001
4 100001
1 100002
2 100002
1 100003
2 100003
3 100003
4 100003
每次ID更改CUM_FREQ行应重置为1。 Excel公式IF(C3 = C2,B2 + 1,1)
提前致谢! 拉胡
答案 0 :(得分:0)
一种简单的方法是在列表中包含ID,并使用Counter来计算计数。
from collections import Counter
id_list = [100001, 100001, 100001, 100001, 100002, 100002, 100003, 100003, 100003, 100003]
cum_freq = []
for i, v in enumerate(id_list):
cum_freq.append(Counter(id_list[:i+1])[v])
print(cum_freq)
[1, 2, 3, 4, 1, 2, 1, 2, 3, 4]