【问题标题】:Rust DataFusion - Float Operations in dataframe selectRust DataFusion - 数据框选择中的浮动操作
【发布时间】:2021-10-15 09:46:12
【问题描述】:

我正在计算大量订单行中未填写的订单的比例。我正在使用数据融合箱进行分析。我想建立一个如下所示的表格:

+--------+--------------+---------------+--------------+
| Month  | Total Orders | Missed Orders | Missed Ratio |
+--------+--------------+---------------+--------------+
| 201803 | 10           | 3             | 0.3          |
+--------+--------------+---------------+--------------+

为此,我返回以下代码:

    let result = record_count
        .select(vec![col("Month"), 
            col("Total Orders"), 
            col("Missed Orders"),
            (col("Missed Orders").cast_to(&DataType::Float64, &m_order_schema).unwrap() / col("Total Orders").cast_to(&DataType::Float64, &t_order_schema).unwrap()).alias("Service Level")])?;

总订单和未接订单列作为整数,所以我将它们转换为浮点数以获得分数。但是,服务级别列显示为全为零的整数。结果如下图所示:

+--------+--------------+---------------+--------------+
| Month  | Total Orders | Missed Orders | Missed Ratio |
+--------+--------------+---------------+--------------+
| 201803 | 10           | 3             | 0            |
+--------+--------------+---------------+--------------+

问题:如何对整数列进行浮点运算?

【问题讨论】:

    标签: rust apache-arrow


    【解决方案1】:

    我认为没有多少人会监控 DataFusion 问题的堆栈溢出,您可以通过在 https://github.com/apache/arrow-datafusion/issues 提交问题来获得更快的响应

    【讨论】:

    • 谢谢安迪。将相同的内容发布到 github。我在这里发布它是因为项目问题中没有用于查询的标准模板。我觉得那里可能不合适。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    相关资源
    最近更新 更多