为什么有一个“。”在数字 3600 之后?

why there is a "." after the number 3600?

def time_since_last_project(series):
    # Return the time in hours
    return series.diff().dt.total_seconds() / 3600.

~代码来自kaggle课程,为什么有个“.” 3600之后?求助~

指定类型为float

如果你勾选

# Python2.7
print(type(3600.))

你会发现它是 float

没有句点,

# Python2.7
print(type(3600))

你得到 int.

这会改变您使用的除法类型:浮点运算或整数运算。

查看这两个示例以了解不同之处。

# Python2.7
1 / 2 # = 0
1 / 2. # = 0.5

这就是写3600.的意义,代码的作者想指定使用浮点除法

3600 是整数,而 3600. 是浮点数。为什么一个比另一个更可取取决于正在执行的除法操作。请记住,对象本身决定了划分的含义。由于我们不知道 series.diff().dt.total_seconds() 是什么,因此我们无话可说。如果您正在处理浮点数,除以浮点数是有意义的。