MST

星途 面试题库

面试题:Python中Pandas库如何处理缺失值

在Python的Pandas库中,给定一个包含缺失值的DataFrame,简述至少两种处理缺失值的方法,并给出相应代码示例。
42.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 删除缺失值
    • 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)
    # 删除包含缺失值的列
    new_df_col = df.dropna(axis = 1)
    print(new_df_col)
    
  2. 填充缺失值
    • fillna()方法:可以使用指定的值填充缺失值。
    import pandas as pd
    data = {
        'col1': [1, None, 3],
        'col2': [4, 5, None]
    }
    df = pd.DataFrame(data)
    # 用0填充缺失值
    filled_df = df.fillna(0)
    print(filled_df)
    # 用前一个值填充缺失值(ffill)
    filled_df_ffill = df.fillna(method='ffill')
    print(filled_df_ffill)
    # 用后一个值填充缺失值(bfill)
    filled_df_bfill = df.fillna(method='bfill')
    print(filled_df_bfill)
    
  3. 使用统计量填充缺失值
    • 对于数值列,可以用均值、中位数等统计量填充。
    import pandas as pd
    data = {
        'col1': [1, None, 3],
        'col2': [4, 5, None]
    }
    df = pd.DataFrame(data)
    # 用均值填充col1的缺失值
    mean_value = df['col1'].mean()
    df['col1'] = df['col1'].fillna(mean_value)
    print(df)
    # 用中位数填充col2的缺失值
    median_value = df['col2'].median()
    df['col2'] = df['col2'].fillna(median_value)
    print(df)