Ich habe einen Datenrahmen, in dem einige Zeilen fehlende Werte enthalten.
In [31]: df.head()
Out[31]:
alpha1 alpha2 gamma1 gamma2 chi2min
filename
M66_MI_NSRh35d32kpoints.dat 0.8016 0.9283 1.000000 0.074804 3.985599e+01
F71_sMI_DMRI51d.dat 0.0000 0.0000 NaN 0.000000 1.000000e+25
F62_sMI_St22d7.dat 1.7210 3.8330 0.237480 0.150000 1.091832e+01
F41_Car_HOC498d.dat 1.1670 2.8090 0.364190 0.300000 7.966335e+00
F78_MI_547d.dat 1.8970 5.4590 0.095319 0.100000 2.593468e+01
Ich möchte diese Zeilen auf dem Bildschirm anzeigen. Wenn ich es versuche df.isnull()
, gibt es einen langen Datenrahmen mit True
und False
. Gibt es eine Möglichkeit, diese Zeilen auszuwählen und auf dem Bildschirm auszudrucken?
isnull()
auf einige Spalten anwenden ?Verwenden Sie
df[df.isnull().any(axis=1)]
für Python 3.6 oder höher.quelle
Angenommen, gamma1 und gamma2 sind zwei solche Spalten, für die df.isnull (). Any () den Wert True angibt. Der folgende Code kann zum Drucken der Zeilen verwendet werden.
bool1 = pd.isnull(df['gamma1']) bool2 = pd.isnull(df['gamma2']) df[bool1] df[bool2]
quelle
Kann auch versuchen, fast ähnliche frühere Antworten.
d = {'filename': ['M66_MI_NSRh35d32kpoints.dat', 'F71_sMI_DMRI51d.dat', 'F62_sMI_St22d7.dat', 'F41_Car_HOC498d.dat', 'F78_MI_547d.dat'], 'alpha1': [0.8016, 0.0, 1.721, 1.167, 1.897], 'alpha2': [0.9283, 0.0, 3.833, 2.809, 5.459], 'gamma1': [1.0, np.nan, 0.23748000000000002, 0.36419, 0.095319], 'gamma2': [0.074804, 0.0, 0.15, 0.3, np.nan], 'chi2min': [39.855990000000006, 1e+25, 10.91832, 7.966335000000001, 25.93468]} df = pd.DataFrame(d).set_index('filename')
Anzahl der Nullwerte in jeder Spalte.
df.isnull().sum()
df.isnull().any(axis=1)
quelle