2016-03-30 14 views
4

Pandas DataFrameに欠落しているデータがある場合、インデックス作成は期待通りに機能しません。Pandasデータ選択の欠落した日付のデータフレームが奇妙に

import pandas as pd 
from datetime import datetime 

df = pd.DataFrame({'a' : [datetime(2011, 1, 1), datetime(2013, 1, 1)], 
        'b' : [datetime(2010, 1, 1), datetime(2014, 1, 1)]}) 
df > datetime(2012, 1, 1) 

期待されるような作品:

a  b 
0 False False 
1 True True 

が、欠損値がある場合

none_df = pd.DataFrame({'a' : [datetime(2011, 1, 1), datetime(2013, 1, 1)], 
         'b' : [datetime(2010, 1, 1), None]}) 
none_df > datetime(2012, 1, 1) 

選択がすべてTrueを返し

a  b 
0 True True 
1 True True 

私が何か間違ったことをやっていますか?これは望ましい行動ですか?

私は動作が異常であることに同意のPython 3.5の64ビット、パンダ0.18.0、Windowsの10

答えて

3

これは、回避策のソリューションです:

>>> df.apply(lambda col: col > datetime(2012, 1, 1)) 
     a  b 
0 False False 
1 True False 
関連する問題