Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在多个列上组合多个规则,以获得行为不符合预期的复合结果

在多个列上组合多个规则,以获得行为不符合预期的复合结果
EN

Stack Overflow用户
提问于 2021-07-27 16:44:53
回答 1查看 38关注 0票数 1

我有一个如下的数据帧:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PayeeId transactionId   createdAt                          Amount   Max_90D
100AA       60a23a1     2021-07-24 15:02:25.428000+05:30    5000      12000
100AA       60a23b1d    2021-07-24 20:37:04.351000+05:30    6650      12000 
100AA       60b4b69     2021-07-24 15:02:25.428000+05:30    3334      12000
100AA       6098eb81    2021-07-24 23:30:25.428000+05:30    1000      12000

我正在尝试检查以下条件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. If any of the transaction amount ('Amount') is less than 5000, then df['Rule_No'] = 0
2. If condition 1 is not satisfied (as is this case) then
   2.a - Check which transaction time ('createdAt') is greater than 23:00 hrs and less than 08:00 hrs. If spotted then df['Rule_No'] = 6 
   2.b - If 2.a not satisfied find out if any transaction amount is > 1.5 times of Max_90D. 
   2.c - If yes then df['Rule_No'] = 6 else df['Rule_No'] = 0

因此,从本质上讲,生成的数据帧将如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   PayeeId transactionId   createdAt                          Amount   Max_90D   Rule_No
    100AA       60a23a1     2021-07-24 15:02:25.428000+05:30    5000      12000     0
    100AA       60a23b1d    2021-07-24 20:37:04.351000+05:30    6650      12000     0
    100AA       60b4b69     2021-07-24 15:02:25.428000+05:30    3334      12000     0
    100AA       6098eb81    2021-07-24 23:30:25.428000+05:30    1000      12000     6

为了实现这一点,我使用了以下方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if df['Amount'].any() < 50:
  df['Rule_No'] = 0
else:
  df['Rule_No'] = np.where((df['createdAt'].dt.strftime('%H:%M')<'08:00')|\
                         (df['createdAt'].dt.strftime('%H:%M')>'23:00')\
                         |(df['Amount'] > 1.5 * df['90D_Max']),6,0)

但它的表现并不像预期的那样。取而代之的是,对于所有4行,我得到了列Rule_No为0的原始数据帧df。换句话说,它不仅仅进入else块。

EN

回答 1

Stack Overflow用户

发布于 2021-07-27 20:12:56

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if df['Amount'].any() < 0:
    df['Rule_No'] = 0
else:
    if df['createdAt'].dt.strftime('%H:%M').any() < '08:00':
        df['Rule_No'] = 6

    else:
        res_df = df
        res_df['condition'] = df.apply(lambda x: 1 if x['Amount'] >= 1.5 * x['Max_90D'] else 0)
        if res_df['condition'].any() == 1:
            df['Rule_No'] = 6
        else:
            df['Rule_No'] = 0

最后一个答案很抱歉,我希望这个答案能对你有所帮助;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68548863

复制
相关文章
php强制转换浮点型到整型出现结果不符合预期
使用php的浮点数转int型时,出现转换结果不符合预期,直接转换出现问题在其他强类型语言中可能会有意识的去规避,而php能从心所欲,反倒会出现这种细节问题。
槽痞
2020/04/06
1.7K0
php强制转换浮点型到整型出现结果不符合预期
php强制转换浮点型到整型出现结果不符合预期
使用php的浮点数转int型时,出现转换结果不符合预期,直接转换出现问题在其他强类型语言中可能会有意识的去规避,而php能从心所欲,反倒会出现这种细节问题。
槽痞
2020/06/23
2.8K0
【说站】python捕获多个异常的规则
python捕获多个异常的规则 规则说明 1、执行try下的语句。 如果引起异常,执行过程会跳到第一个except语句。 2、首个except中定义的异常名称与引起的异常匹配,则执行。 3、如果引起的异常不符合第一个except,搜索第二个except。 允许写的except数量没有限制。 4、except都不匹配,将异常传递顶层try代码。 实例 # !usr/bin/env python # -*- coding:utf-8 _*-  try:     fp = open("123.txt","r"
很酷的站长
2022/11/24
9150
【说站】python捕获多个异常的规则
tf.group()用于组合多个操作
tf.group()用于创造一个操作,可以将传入参数的所有操作进行分组。API手册如:
狼啸风云
2019/07/02
2.4K0
使用Dapper读取Oracle多个结果集
Dapper对SQL Server支持很好,但对于Oracle有些用法不一样,需要自己进行特殊处理。
跟着阿笨一起玩NET
2022/05/10
1.2K0
vim打开多个文件、同时显示多个文件、在文件之间切换 打开多个文件:
1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开一个文件,并且此时vim里会显示出file文件的内容。
sunsky
2020/08/19
15.4K0
Android-多个 FlaotingActionButton 组合效果实现
首先我们在 xml 文件中添加五个 FlaotingActionButton 按钮,我的思路是:五个按钮相互叠加,只显示最上层的按钮:
圆号本昊
2021/09/24
3640
Android-多个 FlaotingActionButton 组合效果实现
多个 HTTP 重定向以绕过 SSRF 保护
我需要同时利用许多已知的 SSRF 技术来成功利用同一公司的许多端点。在发现之后,我将其应用于使用攻击者控制的 URL 的所有功能,并发现 2 个盲读和 1 个全读 SSRF。这是一个错误赏金计划,因此盲 SSRF 以 dups 的形式关闭,另一个被接受。
Khan安全团队
2022/02/04
1.9K0
.NET ValueTuple使用WhenAll获取多个任务结果
在.NET中,我们可以通过Task.WhenAll用来等待多个任务。任务完成之后,我们可以使用await等待他们来获取结果。
HueiFeng
2020/05/27
8590
Java并发之Executor(返回结果处理)运行多个任务并处理第一个结果运行多个任务并处理所有结果
并发编程常见的问题,就是当采用多个并发任务来解决一个问题,我们往往只对第一个返回的结果有兴趣。比如,对一个数组有多种排序算法,可以并发启动所有算法,但是对于一个给定的数组,第一个得到排序结果的算法就是最快的排序算法。
desperate633
2018/08/22
1.4K0
Java并发之Executor(返回结果处理)运行多个任务并处理第一个结果运行多个任务并处理所有结果
mysql一次查询,返回多个统计结果
注意:count是返回匹配条件的行数,只要有值就会算进去,所以这里不符合条件的算作Null
全栈程序员站长
2021/05/19
4K0
Mac端设置多个SSH Key以匹配不同的账号
在家里远程工作,手头只有一台Mac电脑。之前生成过一个SSH Key用以到东京大学的超算电脑端。这次需要通过SSH连接Github下载一些项目文件。不想使用同样的信息,所以想在原有Key的基础上生成一个新的Key。
铁男羊
2021/12/19
1.7K0
VBA编程练习04. 在多个单元格区域查找多个数
如下图1所示的工作表,在单元格区域A2:F2中放置的是要查找的数值;在列H至列BF、行9至行30是被查找的区域,这个区域分17个小区域,每个区域3列,其单元格中要么为空,要么放置着一些数值。
fanjy
2019/07/23
1.6K0
Java中多个异常的捕获顺序(多个catch)
import java.io.IOException;   public class ExceptionTryCatchTest {       public void doSomething() throws IOException{           System.out.println("do somthing");       }       public static void main(String[] args){           ExceptionTryCatchTest etct = new ExceptionTryCatchTest();           try {               etct.doSomething();           } catch (Exception e) {                          } catch (IOException e) {                          }       }      }
用户7886150
2021/04/25
3.8K0
php rewriterule 规则,如何将一条RewriteCond 对应多个RewriteRule规则
RewriteCond是对RewriteRule的条件筛选,一般情况下一个RewriteRule前面有多个RewriteCond,我们想让bbs这个子域名下的链接访问bbs这个目录,而其他子域名则访问web这个子目录,于是有了下面这种写法。
全栈程序员站长
2022/08/28
5320
uTorrent被多个杀软拦截,疑似捆绑推广行为导致
知名torrent下载客户端uTorrent近期发现遭到多个杀毒软件的封杀,包括Windows defender在内的一系列杀毒软件均将其标记为威胁,警告用户停止使用。
FB客服
2019/12/12
1.8K0
uTorrent被多个杀软拦截,疑似捆绑推广行为导致
多个基因集富集结果泡泡图绘制展示
通常我们会同时对多个基因集分别进行富集分析,结果放在一起展示。这时我们需要在富集结果后面加一列,标记该结果是哪个基因集的富集,在Excel中可以很方便地操作。如下面动图所示,分组的名字自己根据实际取名即可。
生信宝典
2022/01/18
9300
多个基因集富集结果泡泡图绘制展示
区间/组合/复合/sql查询
$map['id'] = array(array('gt',3),array('lt',10), 'or') ;得到的查询条件是: ( id > 3) OR ( id < 10)
PM吃瓜
2019/08/12
1.1K0
区间/组合/复合/sql查询
show函数组合多个图形在同一个坐标系下
想要把某个图形元素(比如点、线)添加到已经绘制出来的图形中去的话? 方法可是有很多哟~~~ 我们一起来看最常用的方法吧!!! 用 Show 函数组合多个图形在同一个坐标系下. (点击图片下方,查看清晰
WolframChina
2018/05/31
8740
点击加载更多

相似问题

重写规则的行为不符合预期

12

组合多个mysql查询以获得单行结果

20

如何组合多个规则的结果

11

.htaccess重写规则的行为不符合预期

10

IIS重写规则的行为不符合预期

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文