在Python中最大化一个数字和0



我有一个数据帧(df(,其中一列"SUM(CONTRACT_NPV("由数字组成。我试图在列的每一行中取(#,0(的最大值。到目前为止,我使"CONTRACT_NPV"等于变量"SUM",然后尝试使用以下代码:

df['NUM'] = SUM[SUM >= 0] 

在过去,当我想取每一个数字的最大值,然后求和时,这对我来说很有效,但我在这里去掉了.sum((,因为我只想使每一行的数字最大化,而不是将它们全部求和。

然而,当我这样做的时候,我在刚刚创建的新的"NUM"列中得到了很多不适用的内容。由于我只是想在"A"列中的数字和0之间最大化,并且"A"行中的每一行都有一个实际数字,所以我不知道为什么我的输出不适用?

然后我尝试了同样的代码,但没有中间变量步骤,比如:

df['NUM'] = df['SUM(CONTRACT_NPV)'][df['SUM(CONTRACT_NPV)' >= 0]
print(df)

然而,当我这样做时,我收到了一个错误,说打印旁边有一个语法错误。Thusly,我不知道发生了什么,也不知道我在这里做错了什么

df['NUM'] = df['SUM(CONTRACT_NPV)'][df['SUM(CONTRACT_NPV)' >= 0]]

你缺了一个括号。如果你使用一个合适的代码编辑器,它会为你捕获很多这样的错误。VSCode是一个相当下降的

最新更新