python - 连接来自 pickle 的 pandas 数据帧与来自内存字典的 pandas 数据帧 - 为什么内存中会失败?

标签 python pandas dataframe dictionary

我有要组合的数据帧字典。理想情况下,我会凭内存这样做:

values = ['A','B','C']
dats = [dataset[x] for x in values] # get list of dataframes from the dictionary of dataframes "dataset" (causes kernel crash)
dataset_df = pd.concat(dats, sort=False, join='outer', ignore_index=True) # concat datasets

但是,这会导致内核崩溃,因此我必须首先对字典进行 pickle,然后逐一检索数据帧,这确实是一个性能消耗:

dats = [get_dataset(x) for x in values] # get_dataset() retrieves one dataframe from disk
dataset_df = pd.concat(dats, sort=False, join='outer', ignore_index=True) # concat datasets

合并的数据集与单独的数据集一起存储在内存中。我后来通过将其添加到数据帧字典中来确认这一点。 那么为什么内核会崩溃呢?

将字典中的数据帧放入列表中是否会导致内存使用过多?

最佳答案

您可以将生成器表达式传递给 concat,如下所示:

dats = (dataset[x] for x in values)

关于python - 连接来自 pickle 的 pandas 数据帧与来自内存字典的 pandas 数据帧 - 为什么内存中会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175051/

相关文章:

python - 检查列表中整数之间的数字

python - 我们如何从字典列表的字典创建数据框

python - 连接多索引 Pandas 数据帧时出错(分类)

python - 如何更好地格式化我试图从多个回归中保存的输出?

pandas - "Can not convert a ndarray into a Tensor or Operation"在 tensorflow 中使用 pandas 数据帧

python - python中curses.textpad的插入模式

python - 如何获取当前的python解释器路径

Python:错误 - tabula-py 无法读取 PDF

python - 多次将多个数据框保存到多个 Excel 工作表中?

python - pandas.DataFrame.replace,对于第一列