2016-03-22 14 views
0

データをhdf5ファイルに保存しました。奇妙なことは、私は同じ条件のテーブルを選択しているということですが、HDFStoreは異なる答えを出します。同じ条件で選択しますが、HDFStoreは異なる回答を返します

誰に教えてもらえますか?

In [2]: import pandas as pd 
In [3]: store=pd.HDFStore("./data/m2016.h5","r") 
In [4]: store 
Out[4]: 
<class 'pandas.io.pytables.HDFStore'> 
File path: ./data/m2016.h5 
/m2016   frame_table (typ->appendable,nrows->37202055,ncols->6,indexers->[index],dc->[dt,code]) 
In [5]: a=store.select('m2016',where="code='000001'") 
In [6]: b=store.select('m2016',where="code='000001'") 
In [7]: a.shape 
Out[7]: (2388318, 6) 
In [8]: b.shape 
Out[8]: (2374525, 6) 
In [9]: a.head() 
Out[9]: 
        dt market code price volume preclose 
85920 2016-01-04 09:30:00  0 000001 11.98 1102900  11.99 
85921 2016-01-04 09:31:00  0 000001 11.96 289100  11.99 
85922 2016-01-04 09:32:00  0 000001 11.97 361800  11.99 
85923 2016-01-04 09:33:00  0 000001 12.00 279200  11.99 
85924 2016-01-04 09:34:00  0 000001 12.00 405600  11.99 

私はその結果、すべての私の3台のコンピュータでそれをテストした:

PC1、OS:Win2012server、パイソン:2.7.10.3(64-ビット)winpython、選択結果が間違っています。

PC2、os:Win10、python winpython 2.7.10.3(64ビット)、選択結果が間違っています。

PC3、OS:Win7、Python:Winpython 2.7.10.3(64ビット)、select result is ok!

多分HDFStore.selectはWin7でのみ実行できますか?

+0

私のHDF5ファイルをアップロードし、私は私の3台のコンピュータでそれをテストし、その結果: – hoot

+0

ますが、別のPC上でパンダのバージョンを確認しましたか? – jrjc

答えて

0

多分、オペレーティングシステムのデフォルトのエンコーディングはさまざまですか?

この作業B = store.select( 'm2016'、= "コード= u'000001' ")

+0

私はb = store.select( 'm2016'、where = "code = u'000001 '")をテストしましたが、何も変更されていません。 – hoot

0

は、私はWin7の中で私のPCでそれについての詳細をテストしただろう、それはまだランダム間違った結果を得ました。

In [1]: import pandas as pd 
In [2]: cd /projects 
C:\projects 
In [3]: store=pd.HDFStore("./data/m2016.h5","r") 
In [4]: d0=store.select("m2016",where='dt<Timestamp("2016-01-10")') 
In [5]: d1=store.select("m2016",where='dt<Timestamp("2016-01-10")') 
In [6]: d0.shape 
Out[6]: (6917149, 6) 
In [7]: d1.shape 
Out[7]: (4199769, 6) 
In [8]: d0.tail() 
Out[8]: 
         dt market code price volume preclose 
455381 2016-04-21 11:11:00  1 600461 13.33 16400  13.2 
455386 2016-04-21 11:16:00  1 600461 13.36 13800  13.2 
455387 2016-04-21 11:17:00  1 600461 13.37 8300  13.2 
455388 2016-04-21 11:18:00  1 600461 13.36 9800  13.2 
455389 2016-04-21 11:19:00  1 600461 13.34 15300  13.2 
In [9]: d1.tail() 
Out[9]: 
         dt market code price volume preclose 
573543 2016-04-22 14:03:00  1 601333 3.94 8200  3.97 
573548 2016-04-22 14:08:00  1 601333 3.96 45000  3.97 
573549 2016-04-22 14:09:00  1 601333 3.96 8800  3.97 
573550 2016-04-22 14:10:00  1 601333 3.97 10700  3.97 
573551 2016-04-22 14:11:00  1 601333 3.96 6800  3.97 
In [10]: !ptdump m2016.h5 
/(RootGroup) '' 
/m2016 (Group) '' 
/m2016/table (Table(50957318,), shuffle, zlib(9)) '' 

私はhere

+0

ファイルサイズが大きすぎます –

関連する問題