I am using the pandas.DataFrame.dropna method to drop rows that contain NaN. This function returns a dataframe that excludes the dropped rows, as shown in the documentation.
You can do this by indexing the original DataFrame by using the unary ~ (invert) operator to give the inverse of the NA free DataFrame.
na_free = df.dropna()
only_na = df[~df.index.isin(na_free.index)]
Another option would be to use the ufunc implementation of ~.
only_na = df[np.invert(df.index.isin(na_free.index))]