Python-简单的if / else语句的无效语法

时间:2019-03-14 14:53:01

标签: python python-3.x

我在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

2 个答案:

答案 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:]))