我有一个数据帧(df),其中一列'SUM(CONTRACT_NPV)‘由数字组成。我尝试在列的每一行中取(#,0)的最大值。到目前为止,我让'CONTRACT_NPV‘等于一个变量'SUM’,然后尝试了下面的代码:
df['NUM'] = SUM[SUM >= 0] 过去,当我想取每个数字的最大值然后求和时,这对我很有效,但我在这里去掉了.sum(),因为我只想最大化每行中的数字,而不是将它们全部求和。
然而,当我这样做时,我得到了许多不适用于我刚创建的新的'NUM‘列。由于我只是想最大化'A‘列中的数字和0,而'A’列中的每一行都有一个实际的数字,我不知道为什么我的输出不适用?
然后,我尝试了相同的代码,但没有中间变量step,如下所示:
df['NUM'] = df['SUM(CONTRACT_NPV)'][df['SUM(CONTRACT_NPV)' >= 0]
print(df)然而,当我这样做时,我收到了一个错误,说在print旁边有一个语法错误。因此,我不知道发生了什么,也不知道我在这里做错了什么
发布于 2018-07-25 22:39:45
df['NUM'] = df['SUM(CONTRACT_NPV)'][df['SUM(CONTRACT_NPV)' >= 0]]你少了一个尾托架。如果您使用适当的代码编辑器,它将为您捕获大量此类错误。VSCode是一个很好的下降型
https://stackoverflow.com/questions/51521595
复制相似问题