【问题标题】:Pandas Multiple Dataframe Join Memory ErrorPandas 多个数据框加入内存错误
【发布时间】:2016-12-19 15:11:39
【问题描述】:

我有 20 个数据帧,在最后阶段我想通过以下代码合并所有数据帧:

finalDF=allDf[0]
for df in allDf[1:]:
   finalDf=finalDF.join(df, on='DateTime')

这会导致内存错误。有没有更好的内存组合数据帧的方法?

每个数据框都有 20 列数字,每列的范围从 2015-01-01 到当前日期,具有唯一/不同的日期时间。

【问题讨论】:

  • 对于您列表中的所有数据框,“日期时间”列是否唯一?如果不是,您可能正在创建一个巨大的笛卡尔积,任何计算机都没有足够的内存。另外,您的每个数据框有多宽?如果您只需要加入数据框中的一列,请确保首先明智地缩小数据框列。
  • 请显示一些数据作为示例,并在回溯中显示具体错误。
  • @TedPetrou 是的,它们是独一无二的,每个 df 都有 20 列
  • @Parfait 每个数据框都有 20 列数字,每列的范围从 2015-01-01 到当前日期,具有唯一/不同的日期时间。

标签: python pandas join dataframe


【解决方案1】:

我会试试的

finalDF = pd.concat([d.set_index('DateTime') for d in allDF], axis=1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2020-04-28
    • 2015-04-22
    • 2016-10-15
    相关资源
    最近更新 更多