我有两个pandas表,d
和num_original_introns
。它们都使用相同的非数字索引编制索引。我想根据d
和d
中的值应用步骤函数来转换num_original_introns
,如下所示:
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().
我知道这是无效的,并且不可能应用这样的一对条件,但我似乎无法通过谷歌搜索找到替代方案。我怎么能这样做?
答案 0 :(得分:0)
要拥有多个逻辑条件,每个逻辑条件都需要括在括号中,并且中间有一个&符号。例如:
d["HasOriginalIntrons"] = (num_original_introns["NumberIntrons"] != 0) & \
(
d["HasOriginalIntrons"] >=
(0.5 * num_original_introns["NumberIntrons"] - 0.5)
)