问题标签 [hdfstore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 追加失败时如何有效地重建pandas hdfstore表
我正在使用 pandas 中的 hdfstore 来处理正在进行的迭代过程中的数据帧。在每次迭代中,我都会追加到 hdfstore 中的一个表。这是一个玩具示例:
hdfstore_append 函数防止 hdfstore.append 抛出的各种异常,并在必要时重建表。这种方法的问题是当存储中的表变得非常大时它会变得非常慢。
有没有更有效的方法来做到这一点?
python - 在 HDFStore 的排序列中查找规则间隔的值转换
问题
我想制作一个工具来查找 Pandas HDFStore 的排序列中的值转换边界。对于广泛的数据分布,我想尽可能快地做到这一点。
例子
给定一个大的排序列
我将选择几个固定间隔的位置
从这些我想向右移动到值转换的下一个点,即下一个值与当前值不同的位置
无论我得到的数据分布如何,我都想快速而稳健地做到这一点。
一些担忧
- 从磁盘加载我的数据可能很大且成本很高。我不想将整个事情加载到内存中
- 相反,我怀疑一次加载一个元素会非常慢,所以我可能想要拉入 100 行或其他内容的块。这里有什么好的经验法则?
- 我可能有很多专栏。鉴于我只关心一列,我如何最好地避免不必要的成本(我知道 HDFStore 是面向行的,不过,这里可能有一些聪明的东西)
- 我可能会遇到很长的排序序列(数十万个元素)
python - Pandas HDFStore 奇怪的行为
我对此感到非常困惑,我有两个脚本从同一个笔记本服务器运行。我在同一个文件夹中有一个 HDFStore,但是对于一个脚本,它看起来是空的,而对于另一个则不是。这是在两个笔记本中运行的相同代码:
返回 NB 1: 'E:\DoingDataScience\Identify\Scripts'
返回 NB 2: 'E:\DoingDataScience\Identify\Scripts'
返回注意 1:
返回注意 2:
所有的情况看起来都一样。它是否跟踪 Pandas DF 的来源?我认为这可能是由于 NB 1 已经打开了该文件,因为 NB 1 创建了它。但是杀死 NB 1 并重新启动 NB 2 也没有做任何事情。
编辑:添加 os.stats:
NB 1 和 NB 2 两者:
更新:现在重新启动后我收到一个新错误:
HDF5ExtError:HDF5 错误回溯
文件“C:\aroot\work\hdf5-1.8.15-patch1\src\H5F.c”,第 604 行,在 H5Fopen 中无法打开文件文件“C:\aroot\work\hdf5-1.8.15-patch1\ src\H5Fint.c",第 1085 行,在 H5F_open 中无法读取超级块文件 "C:\aroot\work\hdf5-1.8.15-patch1\src\H5Fsuper.c",第 294 行,在 H5F_super_read 中无法加载超级块文件“C:\aroot\work\hdf5-1.8.15-patch1\src\H5AC.c”,第 1320 行,在 H5AC_protect H5C_protect() 中失败。文件“C:\aroot\work\hdf5-1.8.15-patch1\src\H5C.c”,第 3574 行,在 H5C_protect 中无法加载条目文件“C:\aroot\work\hdf5-1.8.15-patch1 \src\H5C.c",第 7954 行,在 H5C_load_entry 中无法加载条目文件 "C:\aroot\work\hdf5-1.8.15-patch1\src\H5Fsuper_cache.c",第 476 行,在 H5F_sblock_load 截断文件中:eof = 800, sblock->base_addr = 0,
HDF5 错误回溯结束
无法打开/创建文件“data_test.h5”
python-3.x - 如何在写入熊猫 HDFStore 时处理 min_itemsize 异常
我正在使用 pandas HDFStore 来存储我从数据创建的 dfs。
我收到了错误:
我发现可以为所涉及的列设置 min_itemsize 但这不是一个可行的解决方案,因为我不知道我将遇到的最大长度以及我将遇到问题的所有列。
是否有解决方案可以自动捕获此异常并处理它发生的每个项目?
python - Pandas Hdf 获取表格信息
有没有办法使用 pandas HDF 商店获取 HDF 表的信息?
例如在 SQL 中有:
我想阅读基本表格大小而不必加载表格本身。
compression - Apache Hadoop:将压缩数据插入 HDFS
我需要将 100 个文本文件上传到 HDFS 以使用 Apache Pig 进行一些数据转换。
在您看来,最好的选择是什么:
a) 压缩所有文本文件,只上传一个文件,
b) 单独加载所有文本文件?
python - 在 HDFStore 组中存储多个对象
我想在 HDFStore 中存储多个对象,但我想通过分组来组织它。类似于以下内容:
python - pandas.HDFStore.append_to_multiple 和 pandas.MultiIndex
我使用 将 DataFrame 写入两个表pandas.HDFStore.append_to_multiple
,然后用 将其读回pandas.HDFStore.select_as_multiple
,但我得到了一个带有额外行的 DataFrame。
然后我又读了一遍:
我希望df2
相等df
,但它有额外的行。通过调试器,我在 pytables.py 中看到以下行:
这是 DataFrame 重新索引不正确的地方。这似乎是由于原始 DataFrame 的索引有重复,但这是我的数据的现实。此函数是否要求 DataFrame 没有重复的索引值?有没有一种简单的方法可以向 MultiIndex 添加另一个级别以使索引没有重复?
如果我删除它可以正常工作dropna=True
:
Windows x64 Python 2.7 熊猫 0.18.1
python - Pandas HDFStore.create_table_index 不提高选择查询速度,寻找更好的搜索方式
我创建了一个 HDFStore。HDFStore 包含一个组,该组df
是一个有 2 列的表。第一列是 a string
,第二列是DateTime
(将按排序顺序)。商店已使用以下方法创建:
创建 HDF5 文件后,我将使用以下方法查询表:
所以,基本上这需要 13.2 秒,然后我使用
然后我又做了同样的查询,这次我得到了以下信息:-
从上面看,在我看来,性能并没有显着提高。所以,我的问题是,我还能在这里做些什么来让我的查询更快,或者我做错了什么?
python - 如何将 Pandas DataFrame 存储为 HDF5 PyTables 表(或 CArray、EArray 等)?
我有以下熊猫数据框:
现在,我可以使用HDFStore
将df
对象写入文件(例如将键值对添加到 Python 字典):
http://pandas.pydata.org/pandas-docs/stable/io.html
当我查看内容时,这个对象是一个frame
.
输出
但是,为了使用索引,应该将其存储为一个table
对象。
我的方法是尝试HDFStore.put()
即
但是,这失败并出现错误:
如何将 Pandas Dataframes 保存为 PyTables 表?