![](/img/trans.png)
[英]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.