ValueError:Series的真值是不明确的。使用a.empty,a.bool(),a.item(),a.any()或a.all()

时间:2016-07-27 09:06:28

标签: python pandas dataframe

我是熊猫的新手。 我正在尝试使用以下代码将负号分配给数据框中的一列。但是当我这样做时,我得到如下错误。 我试过下面的代码

INTERNAL_DEBIT = InternalTxns[InternalTxns['type'].isin(['INTERNAL_DEBIT','INTERNAL'])]

new_amnt = (INTERNAL_DEBIT['amount']*-1)

但我需要将此负值分配给仅匹配的条件并获取整个数据。我正在寻找更简单,更少编码。

我通过其他帖子阅读了类似的错误,但其中大多数都不符合类似的要求。

提前致谢。

enter image description here

InternalTxns[[InternalTxns["type"] in ["INTERNAL_DEBIT","INTERNAL_TRANSFER_REVERSAL"]],'amount']=InternalTxns[[InternalTxns["type"] in ["INTERNAL_DEBIT","INTERNAL_TRANSFER_REVERSAL"]],'amount']*-1

1 个答案:

答案 0 :(得分:0)

您可以使用isinloc使用的原始掩码仅覆盖这些值:

InternalTxns.loc[InternalTxns["type"].isin(["INTERNAL_DEBIT","INTERNAL_TRANSFER‌​‌​_REVERSAL"]),'amount'] *= -1