有没有办法将Pandas Dataframe保存到hdf,如果一列包含列表?

时间:2018-04-02 12:00:55

标签: python-3.x pandas dataframe hdf

我有一个巨大的Dataframe,有8个miliion行和一个算法,可以在递归模块中使用它。由于我想阻止算法每次加载整个数据帧,我想以hdf格式存储它,这样我就可以预先选择我需要的信息,以节省内存空间。问题是,一列包含每行中的列表,这样可以节省导致以下错误: 例外:找不到正确的原子类型 - > [dtype-> object,items-> Index(['Herkunft','ID','Objekttyp','ObjekttypNr','Staat','aktueller Name',        'art','ldName','population','neuername','neuername2','kphdist'],       dtype ='object')]

这引出了我的问题:有没有办法在hdf表中列出列表中的列?它应该在装载后立即可用,无需任何昂贵的重新格式化。

编辑: 听到我的列有10个实体作为列表:

Herkunft ['1Wiki', '1Wiki', '1Wiki', '1Wiki']
ID ['http://www.wikidata.org/entity/Q1917863', 'http://www.wikidata.org/entity/Q7165355', 'http://www.wikidata.org/entity/Q7165354', 'http://www.wikidata.org/entity/Q7165337']
Objekttyp [nan, nan, nan, nan]
ObjekttypNr ['nan', 'Dorf', 'Dorf', 'Dorf']
Staat ['ES', 'MY', 'IN', 'CA']
aktueller Name [nan, nan, nan, nan]
art ['http://www.wikidata.org/entity/Q2074737', 'http://www.wikidata.org/entity/Q486972', 'http://www.wikidata.org/entity/Q486972', 'http://www.wikidata.org/entity/Q486972']
latitude [38.840555555, 1.56667, 13.3667, 44.3008]
ldName ['carrícola', 'penunus', 'penumuru', 'pentz, nova scotia']
longitude [-0.471388888, 111.45, 79.1833, -64.3819]
population ['95', nan, nan, nan]
lakurz [38.840555555, 1.56667, 13.3667, 44.3008]
lokurz [-0.471388888, 111.45, 79.1833, -64.3819]
neuername ['carrícola', 'penunus', 'penumuru', 'pentz , nova scotia']
neuername2 ['carricola', 'penunus', 'penumuru', 'pentz , nova scotia']
lettermass [5, 5, 6, 11]
kphdist [['4745'], ['1668'], ['1667'], ['168', '', '', '63', '82']]

0 个答案:

没有答案