Pandas if / then / else逻辑

时间:2015-08-19 13:28:17

标签: python pandas

我有一个看起来像这样的数据框,

 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,类似于此idiomcookbook。我可以得到一个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

0 个答案:

没有答案