重新分配时应用步长函数

2024-04-23 18:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个pandas表,dnum_original_introns。它们都使用相同的非数字索引编制索引。我想基于dnum_original_introns中的值应用一个step函数来转换d,如下所示:

d["HasOriginalIntrons"] = d["HasOriginalIntrons"] >= 0.5 * num_original_introns["NumberIntrons"] - 0.5 if num_original_introns["NumberIntrons"] != 0 else False

但这会产生错误

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

我知道这是无效的,也不可能应用这样的一对条件句,但我似乎无法从google中找到替代方法。我该怎么做?你知道吗


Tags: the函数falsepandasifstep错误数字
1条回答
网友
1楼 · 发布于 2024-04-23 18:21:46

要有多个逻辑条件,每个条件都需要用括号括起来,括号之间有一个“与”。例如:

d["HasOriginalIntrons"] = (num_original_introns["NumberIntrons"] != 0) & \ 
                          (
                           d["HasOriginalIntrons"] >= 
                             (0.5 * num_original_introns["NumberIntrons"] - 0.5)
                          )

相关问题 更多 >