【发布时间】:2015-10-08 04:31:07
【问题描述】:
在pandas documentation 中,它声明:
然而值得注意的是,concat(因此 append)使 数据的完整副本,并且不断重复使用此功能可以 创造显着的性能冲击。如果需要使用操作 在多个数据集上,使用列表推导。
frames = [ process_your_file(f) for f in files ]
result = pd.concat(frames)
我目前的情况是,我将一遍又一遍地将一个新数据帧连接到一个不断增长的数据帧列表。这将导致数量惊人的串联。
我担心性能问题,我不确定在这种情况下如何使用列表理解。我的代码如下。
df = first_data_frame
while verify == True:
# download data (new data becomes available through each iteration)
# then turn [new] data into data frame, called 'temp'
frames = [df, temp]
df = concat(frames)
if condition_met:
verify == False
我不认为下载数据和创建数据框的部分是相关的;我担心的是不断的串联。
在这种情况下如何实现列表推导?
【问题讨论】:
标签: python performance pandas dataframe list-comprehension