【问题标题】:pandas get_group causes memory errorpandas get_group 导致内存错误
【发布时间】:2015-02-01 13:13:03
【问题描述】:

我有一个这样创建的分组数据框:

my_gb = pandas.read_csv(filepath_or_buffer=my_file_path,
                        delimiter='\t').groupby(['col1', 'col2', 'col3', 'col4'])

然后我打电话给get_group

my_row = my_gb.get_group((val1, val2, val3, val4))

并获得MemoryError

IIUC,这只返回一行的视图(在我的数据集中) - 这怎么会导致内存错误?

【问题讨论】:

  • 这么少的细节很难说。可能来自加载本身。我们需要知道文件的大小。另外,您应该将两个操作分开:首先加载文件,然后执行 groupby,这样我们就知道它在哪里失败了。
  • 怎么可能是加载本身?内存错误发生的时间很晚,因为它在 get_group 上失败,而不是在读取文件或 groupby 时。
  • 您正在/正在使用什么版本的熊猫?我想知道这是否是问题..

标签: python pandas out-of-memory


【解决方案1】:

无法让这个工作,所以我自己做了分组:

data = pandas.read_csv(filepath_or_buffer=my_file_path, delimiter='\t')
grouped = {}
for key, value in data.iterrows():
    grouped[(value['col1'], value['col2'], value['col3'], value['col4'])] = value

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 2013-06-14
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2011-05-05
    相关资源
    最近更新 更多