python中loc的条件错误

时间:2017-08-09 05:59:16

标签: python pandas

我有一个以下日期框架。

mydf = pd.DataFrame({'month':[2,3,7,8],'day':[29,24,20,29]})
>>> mydf
   day  month
0   29      2
1   24      3
2   20      7
3   29      8

>>> leapdf =  mydf.loc[(mydf['month'] == 2) & (mydf['day'] == 29) ]
>>> leapdf
   day  month
0   29      2

>>> otherdf =  mydf.loc[(mydf['month'] != 2) & (mydf['day'] != 29) ]
>>> otherdf
   day  month
1   24      3
2   20      7

以上其他我希望将第29天和第8天纳入其中。但不包括在内。任何人都可以指导我错误是什么。

由于

1 个答案:

答案 0 :(得分:1)

|需要or

otherdf =  mydf.loc[(mydf['month'] != 2) | (mydf['day'] != 29) ]

与...相同:

otherdf =  mydf.loc[~((mydf['month'] == 2) & (mydf['day'] == 29)) ]
print (otherdf)
   day  month
1   24      3
2   20      7
3   29      8