gpt4 book ai didi

database - Pandas ,具有不同列数的大文件,在内存中追加

转载 作者:搜寻专家 更新时间:2023-10-30 20:40:36 25 4
gpt4 key购买 nike

我想在 hdf5 文件中维护一个大型 PyTable。通常当新数据出现时,我会附加到现有表中:

    store = pd.HDFStore(path_to_dataset, 'a')
store.append("data", newdata)
store.close()

但是,如果旧存储数据的列和传入的新数据的列仅部分重叠,则会返回以下错误:

Exception: cannot match existing table structure for [col1,col2,col3] on appending data

在这些情况下,我希望获得类似于普通 DataFrame 附加函数的行为用 NAN 填充非重叠条目

import pandas as pd
a = {"col1":range(10),"col2":range(10)}
a = pd.DataFrame(a)
b = {"b1":range(10),"b2":range(10)}
b = pd.DataFrame(b)
a.append(b)

是否有可能在“内存中”进行类似的操作,或者我是否需要创建一个全新的文件?

最佳答案

HDFStore 以行为导向存储,所以目前这是不可能的。

您可能需要将其读入、追加并写出。可能你可以使用:http://pandas.pydata.org/pandas-docs/stable/io.html#multiple-table-queries

但是,您也可以在开始时使用所有可能的列来创建表(并且将它们保留为 nan)。

关于database - Pandas ,具有不同列数的大文件,在内存中追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21882799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com