[英]Replace row in pandas with next row only when the entire row (each column) has NaN values
[英]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
任何帮助是极大的赞赏!
使用mask
和isnull
将所有行都屏蔽为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.