我正在对数据表字段进行一些数学运算,如下所示
示例 DT:
py_DT = dt.Frame({'junction' : ['BroadwayCycleTrack-N','BroadwayCycleTrack-N',
'Burke Gilman Trail','Burke Gilman Trail','Elliot Bay','Elliot Bay'],
'time_window' : ['N','MD','M','M','N','MD'],
'total_bus' :[3526,8732,6732,9821,6473,9273]
})
我想计算每个路口通过的公交车的百分比为
代码块
py_DT[:,{'perc_of': f.total_bus/dt.sum(f.total_bus)},by(f.junction)]
这里有一个名为 perc_of 的新字段以浮点数形式保存计算值,例如
0.287649 和 0.712351 用于穿越BroadwayCycleTrack-N
在这里,我试图利用 dt.math 模块对浮点数进行四舍五入,因为 DT 中的 F 表达式不允许 python 的舍入方法。
代码块:
py_DT[:,{'perc_of': dt.math.trunc(f.total_bus/dt.sum(f.total_bus))},by(f.junction)]
py_DT[:,{'perc_of': dt.math.floor(f.total_bus/dt.sum(f.total_bus))},by(f.junction)]
py_DT[:,{'perc_of': dt.math.ceil(f.total_bus/dt.sum(f.total_bus))},by(f.junction)]
py_DT[:,{'perc_of': dt.math.trunc(f.total_bus/dt.sum(f.total_bus))},by(f.junction)]
他们没有计算出将 0.287649 舍入到 0.28 或 0.287,我应该尝试其他任何功能吗?我正在搜索它的文档,但找不到合适的文档。