我有一个看起来像这样的数据框,
df=pd.DataFrame([2,4,6,2],columns=['x'])
df['y']=[3,2,1,2]
df['x_test']=['x_larger','x_larger','x_smaller','x_equal']
我正在尝试使用if / then / else,类似于此idiom和cookbook。我可以得到一个if语句正确,但我不确定如何测试相等。
df['valid']=False
df['invalid']=True
df.ix[(df.x_test=="x_larger") & (df.x>df.y),['valid','invalid']]=[True,False]
这部分有效。但我还想在这一行测试x_equal。这可能吗?
所需的输出应为
x y x_test valid invalid
0 2 3 x_larger False True
1 4 2 x_larger True False
2 6 1 x_smaller False True
3 2 2 x_equal True False