gpt4 book ai didi

python - 在 Python 中使用 if 条件加速逐行循环

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:17 24 4
gpt4 key购买 nike

我有一个 600 万行的数据集,列是:symboltimeStampopen priceclose price。我运行以下循环,虽然非常简单,但需要很长时间(如果 open pricenan,则从上一行获取 close price ):

for i in range(0,len(price2)):
print(i)
if np.isnan(price3.iloc[i,2]):
price3.iloc[i,2]=price3.iloc[i-1,3]

我怎样才能加快这个循环?据我所知,我可以更改为 apply(),但我怎样才能在其中包含 if 条件?

最佳答案

您可以使用 pandas.Series.fillna 而不是 for 循环与收盘价的转移系列。

price3['open price'].fillna(price3['close price'].shift(1), inplace=True)

这是矢量化的,因此应该比您的 for 循环快得多。

请注意,我假设 price2price3 具有相同的长度,您也可以在循环中迭代 price3

关于python - 在 Python 中使用 if 条件加速逐行循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50307050/

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