Python - Zeile löschen, wenn zwei Spalten NaN @ si

Dies ist eine Erweiterung zudiese Frag, wobei OP wissen wollte, wie Zeilen gelöscht werden, bei denen die Werte in einer einzelnen Spalte NaN sind.

Ich frage mich, wie ich Zeilen ablegen kann, in denen die Werte in2 (oder mehr) Spalten sindbeid NaN. Verwenden des erstellten Datenrahmens der zweiten Antwort:

In [1]: df = pd.DataFrame(np.random.randn(10,3))

In [2]: df.ix[::2,0] = np.nan; df.ix[::4,1] = np.nan; df.ix[::3,2] = np.nan;

In [3]: df
Out[3]:
          0         1         2
0       NaN       NaN       NaN
1  2.677677 -1.466923 -0.750366
2       NaN  0.798002 -0.906038
3  0.672201  0.964789       NaN
4       NaN       NaN  0.050742
5 -1.250970  0.030561 -2.678622
6       NaN  1.036043       NaN
7  0.049896 -0.308003  0.823295
8       NaN       NaN  0.637482
9 -0.310130  0.078891       NaN

Wenn ich das @ benutdrop.na() Befehl, speziell dasdrop.na(subset=[1,2]), dann schließt es einen "oder" -Typ-Drop ab und verlässt:

In[4]: df.dropna(subset=[1,2])
Out[4]: 
          0         1         2
1  2.677677 -1.466923 -0.750366
2       NaN  0.798002 -0.906038
5 -1.250970  0.030561 -2.678622
7  0.049896 -0.308003  0.823295

Was ich will, ist ein Drop vom Typ "und", bei dem Zeilen gelöscht werden, bei denen ein @ vorhanden isNaN in Spalte Index 1un 2. Dies würde verlassen:

          0         1         2
1  2.677677 -1.466923 -0.750366
2       NaN  0.798002 -0.906038
3  0.672201  0.964789       NaN
4       NaN       NaN  0.050742
5 -1.250970  0.030561 -2.678622
6       NaN  1.036043       NaN
7  0.049896 -0.308003  0.823295
8       NaN       NaN  0.637482
9 -0.310130  0.078891       NaN

wenn nur die erste Zeile gelöscht wird.

Irgendwelche Ideen

EDIT: Datenrahmenwerte aus Konsistenzgründen geändert

Antworten auf die Frage(4)

Ihre Antwort auf die Frage