【发布时间】:2021-05-17 00:36:49
【问题描述】:
除了最小值和最大值,我们还需要均值和方差 公里数_驱动在不同的位置。使用迭代 方法,请执行以下操作:
找到数据集中所有唯一的位置。
启动计时器。
对于一个唯一的位置,遍历数据集一次来计算 Kilometers_Driven 的平均值。
对于相同的唯一位置,再次遍历数据集以 计算 Kilometers_Driven 的方差。
8.5 对所有唯一位置重复此操作。反复计算 不同位置的 Kilometers_Driven 的均值和方差。 测量所需的时间。
停止计时器。打印出均值和方差 每个位置的行驶公里数以及经过的时间。
我的代码如下:
#8.1
df.Location.unique()
#8.2
start = timeit.default_timer()
#8.3 Calculating mean of "Kilometers_Driven" manually (For a unique location?)
col_mean = 0.0
for row in range(len(df)):
col_mean += df.loc[row, "Kilometers_Driven"]
col_mean /= len(df)
print(col_mean)
#8.4 Calculating variance of "Kilometers_Driven" manually
col_var = 0.0
for row in range(len(df)):
col_var += (df.loc[row, "Kilometers_Driven"] - col_mean)**2
col_var /= len(df) - 1
print(col_var)
#8.5 How to do?
#8.6 Setting Stop Time
stop = timeit.default_timer()
t_custom = stop - start
print(f"Time elapsed {t_custom} s")
它有效,但 对于一个独特的位置,遍历数据集一次以计算 Kilometers_Driven 的平均值。在 8.3 中。我只是手动计算“Kilometers_Driven”的平均值。我不知道如何纠正它。并且不确定如何在 8.5 中提问。任何人都可以帮助我吗?提前致谢!!
【问题讨论】: