1

選択から null 応答をブロックする方法を理解しようとしていますが、正しい選択を生成するように where ステートメントを作成する方法を考えていました。たとえば、次のコードがあるとします。

df = pd.DataFrame({'A' : ['foo','foo','bar','bar','baz'],
                    'B' : [1,2,1,2,np.nan], 
                    'C' : np.random.randn(5) })

df.to_hdf('test.h5', 'df', mode='w', format='table', data_columns=True)

pd.read_hdf('test.h5', 'df')

     A   B         C
0  foo   1 -0.046065
1  foo   2 -0.987685
2  bar   1 -0.110967
3  bar   2 -1.989150
4  baz NaN  0.126864

私は本質的に次のように言うのと同等のことを望んでいます:

    pd.read_hdf('test.h5', 'df', where='B is not null')

どうすればそれを行うことができますか?

ありがとう!

4

2 に答える 2

0

直接行うことはできないようです。数値列の醜い回避策は次のとおりです。

pd.read_hdf('test.h5', 'df', where='B <= 0 | B > 0')
于 2016-01-29T19:58:53.997 に答える
0

私はそれがこのようにできると思います:

pd.read_hdf('test.h5', 'df', where='B == B')
于 2016-06-16T16:21:03.457 に答える