小编jtr*_*dge的帖子

熊猫:将Lambda应用于多个数据框架

我试图找出如何同时将lambda函数应用于多个数据帧,而无需先将数据帧合并在一起.我正在处理大型数据集(> 60MM记录),我需要特别注意内存管理.

我希望有一种方法可以将lambda应用于基础数据帧,这样我就可以避免先将它们拼接在一起,然后在继续进行下一步之前从内存中删除该中间数据帧.

我有使用基于HDF5的数据帧避免内存问题的经验,但我宁愿尝试先探索不同的东西.

我提供了一个玩具问题来帮助证明我在说什么.

import numpy as np
import pandas as pd

# Here's an arbitrary function to use with lambda
def someFunction(input1, input2, input3, input4):
    theSum = input1 + input2
    theAverage = (input1 + input2 + input3 + input4) / 4
    theProduct = input2 * input3 * input4
    return pd.Series({'Sum' : theSum, 'Average' : theAverage, 'Product' : theProduct})

# Cook up some dummy dataframes
df1 = pd.DataFrame(np.random.randn(6,2),columns=list('AB'))
df2 = pd.DataFrame(np.random.randn(6,1),columns=list('C'))
df3 = pd.DataFrame(np.random.randn(6,1),columns=list('D'))

# Currently, I merge the …
Run Code Online (Sandbox Code Playgroud)

python memory lambda dataframe pandas

6
推荐指数
2
解决办法
4561
查看次数

标签 统计

dataframe ×1

lambda ×1

memory ×1

pandas ×1

python ×1