MST

星途 面试题库

面试题:Python中Pandas处理缺失数据之基本操作

在Python的Pandas库中,如何识别DataFrame中的缺失数据?请至少列举两种方法。如果要删除包含缺失数据的行,代码该如何编写?
34.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 识别缺失数据的方法
    • isnull()方法isnull()函数用于检测DataFrame中的缺失值。它会返回一个与原始DataFrame相同形状的DataFrame,其中每个元素都是布尔值,True表示对应位置的元素是缺失值,False表示不是缺失值。 示例代码:
      import pandas as pd
      data = {'col1': [1, None, 3], 'col2': [4, 5, None]}
      df = pd.DataFrame(data)
      missing_values = df.isnull()
      print(missing_values)
      
    • notnull()方法notnull()函数与isnull()相反,用于检测DataFrame中的非缺失值。它同样返回一个与原始DataFrame相同形状的DataFrame,其中每个元素都是布尔值,True表示对应位置的元素不是缺失值,False表示是缺失值。 示例代码:
      import pandas as pd
      data = {'col1': [1, None, 3], 'col2': [4, 5, None]}
      df = pd.DataFrame(data)
      non_missing_values = df.notnull()
      print(non_missing_values)
      
  2. 删除包含缺失数据的行: 使用dropna()方法可以删除包含缺失数据的行。 示例代码:
    import pandas as pd
    data = {'col1': [1, None, 3], 'col2': [4, 5, None]}
    df = pd.DataFrame(data)
    new_df = df.dropna()
    print(new_df)
    
    dropna()方法中,如果不传入任何参数,默认删除任何包含缺失值的行。也可以通过设置how='all'来仅删除所有列值都为缺失值的行,例如:
    new_df_all = df.dropna(how='all')
    print(new_df_all)