python - 使用第一次迭代的结果进行条件迭代
问题描述
我需要为以下问题找到解决方案。
使用我的 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 和日期值作为熊猫数据框中的输出。
关于如何解决这个问题的任何想法?
解决方案
推荐阅读
- java - Selenium Java 设置 Eclipse
- python - 如何循环遍历我的数据框并根据同一行中的不同值更改每行中的值
- javascript - 输入元素范围类型不支持 FireFox 或 Safari 中的更改事件。解决方法是什么
- python - 我们如何将多个字符串连接在一起?
- php - 在路径文件夹中使用带逗号的 glob
- asp.net-core - NewtonSoft JsonConverter 在带有 Elasticsearch 的 ASP.NET Core 3.1 中没有触发
- python - 什么是查找和替换格式参数的pythonic方法?
- groovy - 在 groovy 中过滤和随机播放地图
- aws-lambda - dynamodb 更新上的并行 lambda 执行
- php - 问题在重定向路由laravel 7.x中自动添加“http”