如何使用lambda函数而不是for循环

时间:2017-03-14 07:13:01

标签: python pandas

我有2个for循环运行某些数据,最终计算行号并累计df进行某些操作。代码就在这里,

def preprocess(dfs, functions):
    storage = []
    row = 0

    for df in dfs:
        for func in functions:
            df = func(df)
        row += row + df.shape[0] 
        storage.append(df)

    df = pd.concat(storage, ignore_index=True)
    return row, df

我是否可以使用lambda函数来减少代码并使其更优雅,性能更佳?

1 个答案:

答案 0 :(得分:0)

这是我的答案,因为我得到了几张投票,但没有人回答这个问题。这当然可能与lambda有关,但它可能无法改善性能。

def preprocess(dfs, functions):
    d = [map(lambda func: func(df), functions) for df in dfs]
    df = pd.concat(d[-1], ignore_index=True)
    return df.shape[0], df