2017-12-02 2 views
1

シリーズの各ナノ値を前の行の値に置き換えようとしています。データは次のようになります。パンダを使用したスローループ

16.5

NaNの

16.5

NaNの

NaNの

NaNの

16.5

16.5

16.5

16.5

16.5

:私はそれになりたい

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) 

はここに私のコードです3210

私は結果を得たが、それがタスクを完了するために年齢を取りました。より速い方法がありますか?前もって感謝します!

+0

が重複する可能性について[パンダのデータフレーム内の値を先行することによってNaNを置き換える方法?](https://stackoverflow.com/questions/27905295/how-to-replace-nans-by -preceding-values-in-pandas-dataframe) – Dark

答えて

1

何の

df.fillna(method='ffill') 
+0

おそらく 'df.ffill()' – Dark

+0

さて、私はいくつかの調査をします!ありがとうございました! – xxyy

+0

@Bharathそれはまったく同じです[documentation](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.ffill.html) – user32185

関連する問題