Excel与python

Excel与python,python,python-3.x,numpy,dataframe,Python,Python 3.x,Numpy,Dataframe,我需要创建新列“Income2”,如果当前单元格中的“ID”值不等于前一单元格中的“ID”值,则该列将从现有列“Income”返回值,否则返回0。在excel中,如果(b2b1、c2、0) 我编写了以下代码: >>> df['Income2'] = np.where(df['ID']!=df['ID'].shift(1), 'Income', 0) 它建议添加其他内容,而不是返回输出。以下是尝试和返回: >>> df['Income2'] = np.whe

我需要创建新列“Income2”,如果当前单元格中的“ID”值不等于前一单元格中的“ID”值,则该列将从现有列“Income”返回值,否则返回0。在excel中,如果(b2b1、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)
                                       ^
>>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)
文件“”,第1行
df['Help']=np.where(df['ID']!=df['ID'].shift(1),True,False)
^
SyntaxError:无效语法


答案很简单,我自己知道了:

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

“它建议添加其他内容,而不是返回输出”-这是什么意思?如果您遇到错误,请在您的帖子中包含完整的回溯。这里有不同的尝试和不同的输出:>>>将numpy作为np导入>>>df['Income2']=np.where(df['ID']!=df['ID'].shift(1),Income,0)回溯(最近一次调用):File“”,第1行,in-name错误:未定义名称“Income”>>df['Income2']=np.where(df['ID']!=df['ID'].shift(1),'Income',0)>>>>只是>>>。没有错误名称。换句话说,它返回>>>请在您的问题中包含所有相关代码和错误消息,并相应地
格式化它
如果这是您使用Python的第一天,您最好在尝试编写任何代码之前