首页 > 解决方案 > Excel IF 到 python

问题描述

如果当前单元格中的“ID”值不等于前一个单元格中的“ID”值,我需要创建新列“Income2”,它从现有列“Income”返回值,否则返回 0。在excel中,这将是 IF(b2<>b1, c2, 0)

我写了以下代码:

>>> df['Income2'] = np.where(df['ID']!=df['ID'].shift(1), 'Income', 0)

它建议添加其他内容而不是返回输出。以下是尝试和回报:

 >>> df['Income2'] = np.where(df['ID']!=df['ID'].shift(1), 'Income', 0)
    >>>
    >>> df['Income2'] = np.where(df['ID']!=df['ID'].shift(1), 1,0)
    >>> df['Help'] = np.where(df['ID']!=df.['ID'].shift(1), True, False)
      File "<stdin>", line 1
        df['Help'] = np.where(df['ID']!=df.['ID'].shift(1), True, False)
                                       ^

SyntaxError:无效的语法

标签: pythonpython-3.xnumpydataframe

解决方案


嗯,答案很简单,我自己搞定了:

>>> income2 = np.where(df['ID']!=df['ID'].shift(1), 1,0)
>>> df['Income2'] = income2
>>> df

推荐阅读