小编Nam*_*ara的帖子

pandas dataframe中的多个if else条件并派生多个列

我有一个如下的数据框.

import pandas as pd
import numpy as np
raw_data = {'student':['A','B','C','D','E'],
        'score': [100, 96, 80, 105,156], 
    'height': [7, 4,9,5,3],
    'trigger1' : [84,95,15,78,16],
    'trigger2' : [99,110,30,93,31],
    'trigger3' : [114,125,45,108,46]}

df2 = pd.DataFrame(raw_data, columns = ['student','score', 'height','trigger1','trigger2','trigger3'])

print(df2)
Run Code Online (Sandbox Code Playgroud)

我需要根据多个条件派生Flag列.

我需要将得分和高度列与触发器1-3列进行比较.

标志栏:

  1. 如果得分大于等于触发1且高度小于8则红色 -

  2. 如果分数大于等于触发2且高度小于8则黄色 -

  3. 如果得分大于等于触发3且高度小于8则橙色 -

  4. 如果高度大于8,则将其留空

如何在pandas数据框中编写if else条件并派生列?

预期产出

  student  score  height  trigger1  trigger2  trigger3    Flag
0       A    100       7        84        99       114  Yellow
1       B     96       4        95       110       125     Red
2       C     80       9        15        30        45 …
Run Code Online (Sandbox Code Playgroud)

python if-statement dataframe pandas

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

dataframe ×1

if-statement ×1

pandas ×1

python ×1