首页 > 解决方案 > 使用第一次迭代的结果进行条件迭代

问题描述

我需要为以下问题找到解决方案。

使用我的 pandas 数据框中的数据

熊猫数据框

    customer id       date  incoming  outgoing  Unnamed: 4  Unnamed: 5
0             1 2019-01-01     500.0       0.0         0.0         0.0
1             1 2019-01-02       0.0     100.0         0.0         0.0
2             1 2019-01-03       0.0     100.0         0.0         0.0
3             1 2019-01-04       0.0     100.0         0.0         0.0
4             1 2019-01-05       0.0     150.0         0.0         0.9
5             1 2019-03-03     100.0       0.0         0.0         0.0
6             1 2019-03-04       0.0     200.0         0.0         0.0
7             1 2019-03-05      15.0       0.0         0.0         0.0
8             1 2019-03-06       0.0      50.0         0.0         0.0
9             1 2019-03-07     100.0       0.0         0.0         0.0
10            2 2019-02-01    1000.0       0.0         0.0         0.0
11            2 2019-02-03       0.0      90.0         0.0         0.0
12            2 2019-02-05       0.0      90.0         0.0         0.0

鉴于我的 pandas 数据框,我需要在输入列中找到累积量高于 500 的日期。该日期需要用作输入以遍历输出列,因为它需要用作 3 范围内的开始日期天(日期+3)。从第一次迭代中找到的日期开始,范围为 3 天,我需要汇总输出列中的金额,当输出/输入的合计 => 90% 时,我需要它违反阈值的日期

使用来自 stackoverflow 的代码,我设法锻炼了第一部分(仅适用于一个客户)

val = np.flatnonzero(np.isclose(CleanDF.incoming.cumsum().values, 500))[0]
CleanDF['date'].iloc[val]      # for faster access, use .iat

当两个条件都满足时,当满足条件时,我需要唯一的客户 ID 和日期值作为熊猫数据框中的输出。

关于如何解决这个问题的任何想法?

标签: pythonpandas

解决方案


推荐阅读