91202


どのようにコードを書き換えれば「期待する結果」のような出力がだせるのかわかりません。  
お知恵をいただければ幸いです。

### データセット

[code]

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame([["tanaka", 81], ["naka", 63], ["ka", 89], ["saitou", 93], ["ito", 56], ["suzuki", 76]], columns=['name', 'score'])
    df
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/P6yyT.png)](https://i.stack.imgur.com/P6yyT.png)

### 【試したこと】条件列追加コード

[code]

    conditions = [
    'ta' in df['name'],
    'su' in df['name']
    ]
     
    choices = ['ta','su']
     
    df['test1'] = np.select(conditions, choices, default=0) #defaultを入れることでelseの代わりになる！
    df
    
[/code]

#### その結果（すべてデフォルト値のゼロになってしまう）

[![画像の説明をここに入力](https://i.stack.imgur.com/kyk0Z.png)](https://i.stack.imgur.com/kyk0Z.png)

#### 期待する結果

[![画像の説明をここに入力](https://i.stack.imgur.com/DAsyu.png)](https://i.stack.imgur.com/DAsyu.png)


CC BY-SA 4.0
2022-09-20T18:20:00.997
91200
2022-09-21T00:05:15.347
2022-09-21T00:05:15.347
3060
52824
question
python pandas
データフレームである列の値に特定の文字列を含む場合、追加した列に指定した文字列を表示したい

[code]

    conditions = ['ta' in df['name'], 'su' in df['name']]
    
[/code]

ですと、`[False, False]`となってしまいますので、

[code]

    conditions = [df['name'].str.contains('ta'), df['name'].str.contains('su')]
    
[/code]

とします。


CC BY-SA 4.0
2022-09-20T23:09:47.883
91202
2022-09-20T23:09:47.883
39819
91200
answer

[code]

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame([["tanaka", 81], ["naka", 63], ["ka", 89],
                       ["saitou", 93], ["ito", 56], ["suzuki", 76]],
                      columns=['name', 'score'])
    
    choices = ['ta', 'su']
    conditions = [df['name'].str.contains(c) for c in choices]
    df['test1'] = np.select(conditions, choices, default=0)
    print(df)
    
[/code]

name | score | test1  
---|---|---  
tanaka | 81 | ta  
naka | 63 | 0  
ka | 89 | 0  
saitou | 93 | 0  
ito | 56 | 0  
suzuki | 76 | su


CC BY-SA 4.0
2022-09-20T23:13:27.500
91203
2022-09-20T23:13:27.500
47127
91200
answer