在 if 中检查数据帧列(逐行)的多个条件

checking dataframe columns (row by row) for multiple conditions in if

import pandas as pd

df = pd.DataFrame([[1,2,3],[1,5,9],[2,1,5],[9,2,8]], index = [1,2,3], columns = ['A','B','C', 'D'])

假设我有一个像 df 这样的数据框。 我想比较 df 中的所有行 如果 df['A']>df['B'] 和 df['B']< df['C'] 和 df['B']>df['D'], 然后如果为真 df['E'] = 'yes' 或 'no' 为假。非常感谢

您的数据框不可重现,因此请检查错误。我在这里创建了一个有点类似的数据框。

df = pd.DataFrame({'A': [1,2,10], 'B': [1,5,5], 'C': [2,1,7], 'D': [9,2,4]})

您可以像这样添加 E 列:

df['E'] = (df['A']>df['B']) & (df['B']< df['C']) & (df['B']>df['D'])

它给出了所需的输出。