gpt4 book ai didi

python - 在数据框中插入记录的 concat 的替代方法

转载 作者:行者123 更新时间:2023-12-01 01:16:35 25 4
gpt4 key购买 nike

我有一个 90,000 次迭代的 for 循环。每次迭代都会生成一行,在循环结束时,我想要一个包含所有 90K 行的 dataframe

我现在的做法如下 - 在每次迭代中,我将行存储为名为“sum_df”的 dataframe 并使用 concat 将每一行插入到名为 output_dfdataframe。就像下面一样 -

output_df = pd.concat([output_df, sum_df], sort=False)

但是,这个concat函数似乎效率低下并且减慢了执行速度。更好的方法是什么?

最佳答案

I store the row as a dataframe and use concat to insert each row into the dataframe called output_df.

你的预处理是效率低下的原因。相对于附加到列表列表而言,连接数据帧的成本较高。因此,不要将每一行存储为数据帧。假设您可以将“行”转换为单个列表:

LoL = []
for item in some_iterable:
lst = func(item) # func is a function which returns a list from item
LoL.append(lst) # append to list of lists
df = pd.DataFrame(LoL) # construct dataframe from list of lists

或更简洁地说:

df = pd.DataFrame([func(item) for item in some_iterable])

关于python - 在数据框中插入记录的 concat 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54292590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com