我有一个数据框排序依据date:
df = pd.DataFrame({'idx': [1, 1, 1, 2, 2, 2],
'date': ['2016-04-30', '2016-05-31', '2016-06-31',
'2016-04-30', '2016-05-31', '2016-06-31'],
'val': [10, 0, 5, 10, 0, 0],
'pct_val': [None, -10, None, None, -10, -10]})
df = df.sort('date')
print df
date idx pct_val val
3 2016-04-30 2 NaN 10
0 2016-04-30 1 NaN 10
4 2016-05-31 2 -10 0
1 2016-05-31 1 -10 0
5 2016-06-31 2 -10 0
2 2016-06-31 1 NaN 5
Run Code Online (Sandbox Code Playgroud)
然后我想分组,idx然后用一些简单的逻辑应用累积函数.如果pct_val为null,则添加val到运行总计,否则将运行总计乘以1 …
我在我的代码中添加了一个elif语句:
if i % 100 < 10:
letter_count += numletters[str(i)[len(str(i)) - 1]
elif (i % 100 >= 10) and (i % 100 < 20):
letter_count += numletters[str(i)[len(str(i)) - 2:]]
Run Code Online (Sandbox Code Playgroud)
现在它给了我一个语法错误:
File "<stdin>", line 35
elif (i % 100 >= 10) and (i % 100 < 20):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我不知道该声明有什么问题,在此先感谢您的帮助.