【问题标题】:Read Specific Columns from a pickle files从泡菜文件中读取特定列
【发布时间】:2019-11-11 19:55:21
【问题描述】:

所以我知道在 Pandas 中,您可以指定从 csv 文件中提取哪些列来生成 DataFrame

df = pd.read_csv('data.csv', usecols=['a','b','c'])

你如何用腌制文件做到这一点?

df = pd.read_pickle('data.pkl', usecols=['a','b','c'])

给出 TypeError: read_pickle() got an unexpected keyword argument 'usecols'

我在文档中找不到正确的参数

【问题讨论】:

  • 没有参数可以选择使用pd.read_pickle读取的列。

标签: python pandas dataframe pickle


【解决方案1】:

由于pickle文件包含完整的python对象,我怀疑您是否可以在加载列时选择列,或者至少看起来pandas不直接支持。但是您可以先完全加载它,然后像这样过滤您的列:

df = pd.read_pickle('data.pkl')
df = df.filter(['a', 'b', 'c'])

Documentation

【讨论】:

  • 我实际上是在尝试避免完全加载它,因为它有太多我不需要的列。我不想浪费内存,因为我正在使用 IBM Watson 的免费试用版。这是我正在学习的课程的要求
  • 如果您可以将数据保存为 .parquet 格式,您可以获得类似的压缩和速度,并且您可以读取选择列
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-26
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多