如何解决将 Python 中基于 for 循环的解决方案转换为 Lambda、Lists?
我是 Python 新手,需要帮助理解,将我通过 for 循环编写的解决方案转换为更有效的解决方案(lambda 或列表理解)。
我有两个数据框:
Client_mapping:(特定类别和排名的选项总和始终等于 1):
Client_Category | Client_Rank | Client_Option | M1 | M2 | M3 |
---|---|---|---|---|---|
零售 | 黄金 | 留下 | 0.3 | 0 | 0 |
零售 | 黄金 | 离开 | 0 | 0.3 | 0.4 |
零售 | 银色 | 离开 | 0.5 | 0.5 | 0 |
Client_detail(按类别和等级划分的客户 ID):
Client_Category | Client_Rank | Client_ID | Client_Category_Count |
---|---|---|---|
零售 | 黄金 | 1234 | 4 |
零售 | 黄金 | 2345 | 4 |
零售 | 黄金 | 3456 | 4 |
零售 | 黄金 | 4567 | 4 |
零售 | 银色 | 5678 | 3 |
零售 | 银色 | 6789 | 3 |
零售 | 银色 | 7890 | 3 |
基本上,我必须在两个数据框之间匹配客户类别和排名,并将月份和选项分配给每个客户。这必须通过使用 math floor 函数来完成,并将小数的任何剩余计数分配给上个月(每个类别和选项都是动态的)。
输出应如下所示: 将客户映射与客户详细信息结合起来,以确定客户是离开还是留下,如果是,则在哪一个月。以客户 ID 1234 为例,他被标记为留在 M1(4 名员工 * 0.3),其中客户 3456、4567 被标记为离开 M3(一个是从使用 floor 留下的剩余小数点,另一个来自 0.4*4)>
Client_Category | Client_Rank | Client_ID | Client_Option | 月 |
---|---|---|---|---|
零售 | 黄金 | 1234 | 留下 | M1 |
零售 | 黄金 | 2345 | 离开 | M2 |
零售 | 黄金 | 3456 | 离开 | M3 |
零售 | 黄金 | 4567 | 离开 | M3 |
零售 | 银色 | 5678 | 离开 | M1 |
零售 | 银色 | 6789 | 离开 | M2 |
零售 | 银色 | 7890 | 离开 | M2 |
我无法复制我的原始 for 循环代码,因为它最多运行两页:D。提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。