【问题标题】:slow loop using panda使用熊猫的慢循环
【发布时间】:2023-03-17 20:12:01
【问题描述】:

我正在尝试用前一行的值替换系列中的每个 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

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

【问题讨论】:

标签: performance pandas loops


【解决方案1】:

怎么样

df.fillna(method='ffill')

【讨论】:

  • 或许df.ffill()
  • 好的,我会做一些调查!谢谢!
  • @Bharath 完全一样,见documentation
  • 是的,我知道我的意思是你也添加简短形式
  • @xxyy 您是要对所有数据框还是在给定列上执行操作?
猜你喜欢
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
  • 2019-07-27
  • 2018-12-11
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多