如何通过使用Pandas比较hdf5文件中的两列来选择一些行? hdf5文件太大,无法加载到内存中。例如,我想选择列A和列B相等的行。数据框保存在文件&m;'mydata.hdf5'中。感谢。
import pandas as pd
store = pd.HDFstore('mydata.hdf5')
df = store.select('mydf',where='A=B')
这不起作用。我知道store.select(' mydf',其中=' A == 12')将有效。但我想比较A列和B列。示例数据如下所示:
A B C
1 1 3
1 2 4
. . .
2 2 5
1 3 3
答案 0 :(得分:1)
您不能直接执行此操作,但以下操作
In [23]: df = DataFrame({'A' : [1,2,3], 'B' : [2,2,2]})
In [24]: store = pd.HDFStore('test.h5',mode='w')
In [26]: store.append('df',df,data_columns=True)
In [27]: store.select('df')
Out[27]:
A B
0 1 2
1 2 2
2 3 2
In [28]: store.select_column('df','A') == store.select_column('df','B')
Out[28]:
0 False
1 True
2 False
dtype: bool
这应该非常有效。