首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择性读取包含混合类型列的pandas数据帧

选择性读取包含混合类型列的pandas数据帧
EN

Stack Overflow用户
提问于 2018-08-28 17:21:42
回答 1查看 227关注 0票数 0

我有pandas表,其中的列包含有数千行的可变长度列表,例如,

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame({0: [[1, 2], [3, 4, 5], [7], [8, 9, 10, 11]]}, )

###Output: 
df
                0
0          [1, 2]
1       [3, 4, 5]
2             [7]
3  [8, 9, 10, 11]

我可以使用以下命令将文件存储在驱动器中

代码语言:javascript
复制
with pd.HDFStore('out_file', mode='w') as store:
      df.to_hdf(store, key='data1')

但不使用下面的,因为列的类型是object

代码语言:javascript
复制
with pd.HDFStore('out_file', mode='w') as store:
      df.to_hdf(store, key='data1', format='table', data_columns=True)

如何从文件中读取少量索引,而不是读取整个文件,然后删除不需要的行?如果hdf5不能处理这种类型的数据帧的查询,那么替代的数据格式是什么。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 21:58:23

我发现的一种解决方法是将数据存储为str字符串,以便只读取选择性的行。

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame({0: [[1, 2], [3, 4, 5], [7], [8, 9, 10, 11]]}, )

# Write
with pd.HDFStore('out_file', mode='w') as store:
      df.astype(str).to_hdf(store, key='data1', format='table', data_columns=True)

# Now Read some rows
d.read_hdf('out_file', key='data1', where='index >1 & index < 2')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52054353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档