Python 如何使用pandas assign创建具有多个条件的新列?

Python 如何使用pandas assign创建具有多个条件的新列?,python,pandas,assign,Python,Pandas,Assign,我有一个包含以下列的数据框架: Date, Variable 1, rank_pct 我正在尝试使用assign创建一个名为“ls”的新列,其中包含1、-1或0 如果秩pct为0.90,则在ls列中输入-1 如果秩pct是其他值,则在列中输入0 我不想使用for循环遍历rank_pct列中的每一行,我已经尝试了以下方法(返回一个带有True/False的列): data = data.assign(ls= data['rank_pct']<.10) data=data.assign(l

我有一个包含以下列的数据框架:

Date, Variable 1, rank_pct
我正在尝试使用assign创建一个名为“ls”的新列,其中包含1、-1或0

  • 如果秩pct为0.90,则在ls列中输入-1
  • 如果秩pct是其他值,则在列中输入0 我不想使用for循环遍历rank_pct列中的每一行,我已经尝试了以下方法(返回一个带有True/False的列):

    data = data.assign(ls= data['rank_pct']<.10)
    
    data=data.assign(ls=data['rank\u pct']您可以使用嵌套的:

    data.assign(ls=np.where(data.rank_pct.9,-1,0)))
    
    data.assign(ls=np.where(data.rank_pct<.1, 1,
                            np.where(data.rank_pct>.9, -1, 0)))