繁体   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