2017-06-16 167 views
0

我不明白爲什麼我的not in may結果不同。這種方法哪一個是正確的?熊貓數據幀長度不匹配

len(filter_S) 
in_may_filter_s = filter_S[(filter_S.REQUESTED_DATE >= '2017-05-1') & (filter_S.REQUESTED_DATE < '2017-06-1')] 
not_in_may_filter_s = filter_S[~(filter_S.REQUESTED_DATE >= '2017-05-1') & (filter_S.REQUESTED_DATE < '2017-06-1')] 

print("Number of Result Status 'S' in May {}".format(len(in_may_filter_s))) 
print("Number of Result Status 'S' not in May {}".format(len(filter_S) - len(in_may_filter_s))) 
print("Number of Result Status 'S' not in May {}".format(len(not_in_may_filter_s))) 

輸出:
結果狀態數(OBR:25) 'S' 1436年5月
結果狀態數(OBR:25) 'S' 未在五月467
結果狀態數'S'不在五月464

+1

你似乎在'not_in_may_filter_s'賦值中缺少一個'〜'作爲第二個比較。 – Evert

+0

雖然它可能更容易使用像(僞代碼)'日期<2017-05-1 |日期> 2017-05-31'。 – Evert

+0

@Evert你是對的我錯過了其他'〜'謝謝! – mtkilic

回答

1

Probabily它是你的NOT。將~也添加到其他過濾器中。像:

not_in_may_filter_s = filter_S[~((filter_S.REQUESTED_DATE >= '2017-05-1') & (filter_S.REQUESTED_DATE < '2017-06-1'))] 
+0

謝謝!我想我沒有用'()'包裝兩個過濾器 – mtkilic