Просто отбросьте их:
nms.dropna(thresh=2)
это приведет к потере всех строк, где есть по крайней мере два не NaN
, после чего вы можете отбросить его имя NaN
:
In [87]:
nms
Out[87]:
movie name rating
0 thg John 3
1 thg NaN 4
3 mol Graham NaN
4 lob NaN NaN
5 lob NaN NaN
[5 rows x 3 columns]
In [89]:
nms = nms.dropna(thresh=2)
In [90]:
nms[nms.name.notnull()]
Out[90]:
movie name rating
0 thg John 3
3 mol Graham NaN
[2 rows x 3 columns]
EDIT
На самом деле, глядя на то, что вы изначально хотите, вы можете сделать это без вызова dropna
:
nms[nms.name.notnull()]
UPDATE
Глядя на этот вопрос через 3 года, возникает ошибка, во-первых, thresh
arg ищет значения leas n
non NaN
, поэтому на самом деле выход должно быть:
In [4]:
nms.dropna(thresh=2)
Out[4]:
movie name rating
0 thg John 3.0
1 thg NaN 4.0
3 mol Graham NaN
Возможно, что я ошибся 3 года назад или что версия панд, с которой я работал, имела ошибку, оба сценария вполне возможны