使用熊猫的慢循环

Posted

技术标签:

【中文标题】使用熊猫的慢循环【英文标题】:slow loop using panda 【发布时间】:2018-05-16 08:17:14 【问题描述】:

我正在尝试用前一行的值替换系列中的每个 nan 值。数据如下:

16.5

NaN

16.5

NaN

NaN

16

NaN

这是我的代码:

import pandas as pd
import numpy as np

df=pd.read_csv('test.csv')
AskPrice=df.AskPrice
for i, line in enumerate(AskPrice):
if np.isnan(line):
    AskPrice[i]=AskPrice[i-1]
print(AskPrice)

我希望它是:

16.5

16.5

16.5

16.5

16.5

16

16

我得到了结果,但完成任务需要很长时间。有没有更快的方法?提前致谢!

【问题讨论】:

How to replace NaNs by preceding values in pandas DataFrame?的可能重复 【参考方案1】:

怎么样

df.fillna(method='ffill')

【讨论】:

或许df.ffill() 好的,我会做一些调查!谢谢! @Bharath 完全一样,见documentation 是的,我知道我的意思是你也添加简短形式 @xxyy 您是要对所有数据框还是在给定列上执行操作?

以上是关于使用熊猫的慢循环的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫中使用 python 循环替换缺失值? [关闭]

如何避免大数据集的慢循环?

熊猫通过该类别的平均值填充空值(使用循环?)

使用熊猫在python中循环多个excel文件

使用熊猫循环合并大量csv文件[重复]

我如何在python中使用for循环制作熊猫数据框对象