簡體   English   中英

替換熊貓中包含NaN的整行

[英]Replace entire row containing NaN in Pandas

我在python中有一個NaN值的pandas數據框。 如果一行具有NaN值,那么我想用前一行替換整個行。

所以這

    stock     label     open     high      low    close
0     CAT  09:31 AM  137.090  137.175  137.090  137.175
1     CAT  09:32 AM      NaN   -1.000   -1.000      NaN

會變成這個

    stock     label     open     high      low    close
0     CAT  09:31 AM  137.090  137.175  137.090  137.175
1     CAT  09:32 AM  137.090  137.175  137.090  137.175

任何幫助是極大的贊賞!

使用maskisnull將所有行都屏蔽為NaN,然后​​使用ffill

df=df.set_index(['stock','label'])

df=df.mask(df.isnull().any(1)).ffill().reset_index()
df
Out[889]: 
  stock    label    open     high     low    close
0   CAT  09:31AM  137.09  137.175  137.09  137.175
1   CAT  09:32AM  137.09  137.175  137.09  137.175

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM