微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过按特定顺序搜索列或位置来查找和打印特定值的最佳方法是什么?

如何解决通过按特定顺序搜索列或位置来查找和打印特定值的最佳方法是什么?

编辑添加:所需输出图片

我正在尝试使用 Python 执行此操作,但我也可以访问 sql。我已经包含了一个简单的示例图片,但我正在使用的数据框有 1000 多个项目。基本上我需要找到一种方法搜索数据框

  1. 基于数据帧中的值

  2. 我需要从数据帧 1 中的数据帧 2 中找到每个项目编号所需的数量,但我必须按特定顺序进行搜索

如果整个数量在 FR 中,则停止并打印每个项目编号、库位和 WH 代码。如果整个数量不在 FR 中,则接下来查看 PV,然后查看 LH,直到达到完整数量

dataframes

output

解决方法

在 SQL 中: 您可以运行此查询以获取结果:

SELECT
    -- Select relevant columns
    *
FROM
(
    SELECT
        "Item Number","Qty Needed","FR Qty","PV Qty","LH Qty","WH Code","Bin Loc.",custom_order,(
            CASE
                WHEN row_val = "Qty Needed" THEN True
                ELSE False
                END
        ) AS selected
    FROM
    (
        SELECT
            table1."Item Number",table1."Qty Needed",table1."FR Qty",table1."PV Qty",table1."LH Qty",table2."WH Code",table2."Bin Loc."
            -- Creating a custom order based on WH code,(
                CASE
                    WHEN table2."WH Code" == 'FR' THEN 1
                    WHEN table2."WH Code" == 'PV' THEN 2
                    WHEN table2."WH Code" == 'HR' THEN 3
                    ELSE 4
                END
            ) AS custom_order
            -- Will be used for matchin quantity available with quantity required,ROW_NUMBER() OVER(PARTITION BY table1."Item Number" ORDER BY custom_order ASC) AS row_val
        FROM
            df2 AS table1
        LEFT JOIN
            df1 AS table2
        ON
            table1."Item Number" = table2."Item Number"

        ORDER BY
            table1."Item Number",custom_order
    )
)
WHERE
    selected = True

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。