0
我似乎無法能夠查詢最簡單的數據幀在HDFStore:查詢字詞無效[[條件:[無]]]
In [1]:
import pandas as pd
pd.__version__
Out[1]:
'0.15.1'
In [2]:
df = pd.DataFrame.from_dict({'A':[1,2],'B':[100,200], 'C':[42,11]})
df_a = df.set_index('A')
df_a
Out[2]:
B C
A
1 100 42
2 200 11
In [3]:
store = pd.HDFStore('foo.h5','w')
store.put('bar', df_a, format='table')
store.select('bar', where=["'A' == 1"])
---------------------------------------------------------------------------
ValueError: query term is not valid [[Condition : [None]]]
查詢不得到了同樣的錯誤。
令我驚訝的查詢MultiIndexed數據幀正常工作:
In [4]:
df_ab = df.set_index(['A','B'])
df_ab
Out [4]:
C
A B
1 100 42
2 200 11
In [5]:
store.put('bar', df_ab, format='table')
store.select('bar', where=["'A' == 1"])
Out [5]:
C
A B
1 100 42
這裏指定爲增強問題按名稱查詢添加索引:https://github.com/pydata/pandas/issues/9042 – Jeff 2014-12-08 11:22:51
謝謝爲了答案,它的工作原理!讓我澄清其他任何人將查詢指定爲列表仍然是合法的語法。同樣在'MultiIndex'場景下,'index'查詢使用絕對行數而不是邏輯索引。在這種情況下,按名稱查詢'MultiIndex'('A')將起作用。 – roldugin 2014-12-08 23:32:19