Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用第一次迭代结果的条件迭代_Python_Pandas - Fatal编程技术网

Python 使用第一次迭代结果的条件迭代

Python 使用第一次迭代结果的条件迭代,python,pandas,Python,Pandas,我需要找到以下问题的解决方案 使用我的数据框中的数据 鉴于我的熊猫数据框,我需要在输入列中找到累计金额大于500的日期。此日期需要用作输入,以迭代列传出,因为它需要用作3天范围内的开始日期(日期+3)。从第一次迭代中找到的日期开始,从3天开始,我需要将列中的金额汇总到传出的,当传出/传入的合计=>90%时,我需要超出阈值的日期 使用stackoverflow的代码,我成功地完成了第一部分(仅针对一位客户) 当两个条件都满足时,我需要唯一的客户id和日期值,当条件满足时,作为数据框中的输出 关于

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

使用我的数据框中的数据

鉴于我的熊猫数据框,我需要在输入列中找到累计金额大于500的日期。此日期需要用作输入,以迭代列传出,因为它需要用作3天范围内的开始日期(日期+3)。从第一次迭代中找到的日期开始,从3天开始,我需要将列中的金额汇总到传出的,当传出/传入的合计=>90%时,我需要超出阈值的日期

使用stackoverflow的代码,我成功地完成了第一部分(仅针对一位客户)

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


关于如何解决这个问题,您有什么想法吗?

请将您的数据框作为文本添加到问题中
df.to_剪贴板(False)
将数据帧的内容复制为纯文本,然后您可以将其粘贴到问题中您介意提供预期的输出吗?你有没有读过这本书?
    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
val = np.flatnonzero(np.isclose(CleanDF.incoming.cumsum().values, 500))[0]
CleanDF['date'].iloc[val]      # for faster access, use .iat