大部分教程只讲如何打印含有NA的列或行。这个函数可以直接定位到单元格,当dataframe的行和列都很多的时候更加直观。
# Finding NaN locations for df.loc
def locate_na(df):nan_indices = set()nan_columns = set()for col, vals in df_descriptors.items():for index, val in vals.items():if pd.isna(val):nan_indices.add(index)nan_columns.add(col)# Use df.loc with the found indices and columnsnan_values = df.loc[list(nan_indices), list(nan_columns)]return nan_values.drop_duplicates()
效果如下:
再附加一个寻找非数值单元格的方法:
df.select_dtypes(exclude=[float, int])