Python Pandas If Else返回多个值DataFrame值

时间:2018-11-08 22:54:19

标签: python pandas dataframe if-statement

我正在尝试执行以下操作:

  1. 将Dataframe [['ID'] ['Team']传递给功能
  2. 如果“团队”是蓝色,则将“ Y”返回“他可以参加吗?”并返回         将“蓝色”的值设置为“为什么?”

下面是我尝试输入的代码。

def play(df):
if df['Team'] in list(['Blue']):
    return 'Exclude','**************'  

df['Can he play?'],df['Why?'] = df.apply(play, axis = 1)

我不知道如何从条件语句返回数据框值

如何返回'Blue'(df ['Team']中的值)

enter image description here

1 个答案:

答案 0 :(得分:1)

这可以分两步完成,就像这样:

df = pd.DataFrame({'Team': ['Blue', 'Green', 'Blue', 'Red']})
colour = 'Blue'
df['Can he play?'] = np.where(df['Team'] == colour, 'Y', None)
df['Why?'] = np.where(df['Team'] == colour, colour, None)

    Team Can he play?  Why?
0   Blue            Y  Blue
1  Green         None  None
2   Blue            Y  Blue
3    Red         None  None