我在for循环中使用了一个非常简单的if / else语句,并且我不断收到无效的语法。所有缩进都是正确的。
我有一个2列的pandas数据框。一栏是以mm:ss的形式表示的一串时间,我想将其转换为秒。此列也有一些NaN值。第二列为true / false,确定第一列是否为NaN。
temp = []
temp_dF = pd.concat([data["Reading Time"], pd.isnull(data["Reading Time"])], axis=1)
for row in temp_dF.itertuples(index=False):
if row[1] == False:
sec = int(float(row[0][:2]) * 60 + int(float(row[0][-2:]))
else:
sec = None
temp.append(sec)
data["Reading Time"] = temp
这是错误:
File "<ipython-input-23-e06720dbae3c>", line 8
else:
^
SyntaxError: invalid syntax
答案 0 :(得分:3)
在定义sec
if row[1] == False:
sec = int(float(row[0][:2])) * 60 + int(float(row[0][-2:]))
^
|
else:
sec = None
temp.append(sec)
答案 1 :(得分:1)
此处缺少括号:
sec = int(float(row[0][:2]))<-- * 60 + int(float(row[0][-2:]))