面试题答案
一键面试- 删除缺失值:
- 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)
- 填充缺失值:
- 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)
- 使用统计量填充缺失值:
- 对于数值列,可以用均值、中位数等统计量填充。
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)