【发布时间】:2014-12-05 19:17:36
【问题描述】:
所以我用一个看起来像这样的简单数据集创建了 hdf5 文件
>>> pd.read_hdf('STORAGE2.h5', 'table')
A B
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
使用这个脚本
import pandas as pd
import scipy as sp
from pandas.io.pytables import Term
store = pd.HDFStore('STORAGE2.h5')
df_tl = pd.DataFrame(dict(A=list(range(5)), B=list(range(5))))
df_tl.to_hdf('STORAGE2.h5','table',append=True)
我知道我可以使用
x = pd.read_hdf('STORAGE2.h5', 'table', columns=['A'])
或
x = store.select('table', where = 'columns=A')
如何选择列“A”中等于 3 的所有值或特定值或列“A”中带有字符串的索引,例如“foo”?在 pandas 数据框中,我会使用 df[df["A"]==3] 或 df[df["A"]=='foo']
如果我使用read_hdf() 或store.select(),效率也会有所不同吗?
【问题讨论】:
-
阅读大量文档:pandas.pydata.org/pandas-docs/stable/io.html#querying-a-table;仅供参考,
Term是一种较旧的 -
@Jeff 好的,所以我想它会被弃用,所以我删除了它。谢谢!
-
不兼容,只是一种“旧”语法(新的更自然),当然恕我直言