面试题答案
一键面试import pandas as pd
def fill_missing_values(df):
# 按列处理
for col in df.columns:
missing_count = 0
for i in range(len(df[col])):
if pd.isnull(df[col][i]):
missing_count += 1
if missing_count > 3:
df[col][i] = df[col][i - 1]
else:
missing_count = 0
# 线性插值
df = df.interpolate(method='linear')
return df
假设你的DataFrame为data
,可以这样调用函数:
data = pd.DataFrame(...) # 这里是你的DataFrame数据
filled_data = fill_missing_values(data)