【问题标题】:Merge two dataframe to reduce memory consumption合并两个数据帧以减少内存消耗
【发布时间】:2020-12-27 09:57:33
【问题描述】:

我试图在我的数据框列中分解一个列表并将其合并回 df,但是在将展平列与初始数据框合并时出现内存错误。我想知道我是否可以将它合并成块,这样我就可以克服内存问题。

def flatten_colum_with_list(df, column, reset_index=False):
        column_to_flatten = pd.DataFrame([[i, x] for i, y in df[column].apply(list).iteritems() for x in y], columns=['I', column])
        column_to_flatten = column_to_flatten.set_index('I')
        df = df.drop(column, axis=1)
        df = df.merge(column_to_flatten, left_index=True, right_index=True)
        if reset_index:
            df = df.reset_index(drop=True)
        return df

我将不胜感激。

【问题讨论】:

  • 你能展示你的数据帧的一个小样本和预期的输出吗?也许您可以帮助我们想象应该如何执行合并。仅凭代码很难分辨。

标签: python pandas dataframe data-science


【解决方案1】:

对此,您可以简单地使用以下代码:

df.explode(*column name here*,ignore_index=True)

ignore_index 设置为 true 会将索引设置为 0,1,2,........ 顺序。

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 2023-03-18
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多