You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas中判断交易金额可被10整除并生成0/1标识列

报错原因

  • pandas的assign方法不接收axis参数,传入该参数会直接触发参数不匹配错误
  • 普通Python三元表达式1 if 条件 else 0只能对标量做判断,无法直接作用于整列(Series),会抛出The truth value of a Series is ambiguous类异常

正确实现(两种方案任选即可)

方案1:直接布尔值转整数(最简洁)

利用Python中布尔值True对应整数1、False对应整数0的特性,直接对判断结果做类型转换:

df = df.assign(whole_amt = lambda x: (x.transaction_amount % 10 == 0).astype(int))

方案2:用numpy.where做向量化判断

适合后续判断逻辑更复杂的扩展场景:

import numpy as np
df = df.assign(whole_amt = lambda x: np.where(x.transaction_amount % 10 == 0, 1, 0))

内容的提问来源于stack exchange,提问作者Bishu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:36:06