在Python中最大化数字和0

时间:2018-07-25 14:36:37

标签: python pandas

我有一个数据帧(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)

但是,当我这样做时我收到一条错误消息,说打印旁边有语法错误。因此,我不知道这是怎么回事,或者我在做什么错

1 个答案:

答案 0 :(得分:0)

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

您缺少尾括号。如果使用正确的代码编辑器,它将为您捕获许多此类错误。 VSCode是一个相当血统的人