0
我想刪除python中列[3]不是0的行。我想刪除python中的一行
#prepare
from numpy import nan as NA
from pandas import Series,DataFrame
data=DataFrame([[1.,6.5,3.,0],[1.,NA,NA,0.],[NA,NA,NA,1],[NA,6.5,3.,7.]])
data
0 1 2 3
0 1.0 6.5 3.0 0.0
1 1.0 NaN NaN 0.0
2 NaN NaN NaN 1.0
3 NaN 6.5 3.0 7.0
我執行下面的代碼,但它沒有很好地工作。
Third=data[3]
for i in range(len(data.index)):
if not Third[i] is 0:
drop_idx=[i]
data.drop(drop_idx,axis=0)
結果
0 1 2 3
1 1.0 NaN NaN 0.0
2 NaN NaN NaN 1.0
3 NaN 6.5 3.0 7.0
0 1 2 3
0 1.0 6.5 3.0 0.0
2 NaN NaN NaN 1.0
3 NaN 6.5 3.0 7.0
0 1 2 3
0 1.0 6.5 3.0 0.0
1 1.0 NaN NaN 0.0
3 NaN 6.5 3.0 7.0
0 1 2 3
0 1.0 6.5 3.0 0.0
1 1.0 NaN NaN 0.0
2 NaN NaN NaN 1.0
我想知道如何得到以下result.Could你告訴我哪裏錯了?
0 1 2 3
0 1.0 6.5 3.0 0.0
1 1.0 NaN NaN 0.0