import pandas as pd
data = pd.read_csv(“src/death.csv”, index_col=‘Unnamed: 0’)
data = data.dropna(axis=1, thresh=data.shape[0] * 0.2)
data = data.dropna(axis=0, thresh=data.shape[1] * 0.2)
########## Begin ##########
统计存在缺失值的列
missing_columns = data.columns[data.isnull().any()].tolist()
print(“存在缺失值的列:”, missing_columns)
逐列按要求替换缺失值,并打印每列替换值
for col in missing_columns:
# 判断列类型
if col in [“FIPS”, “Admin2”]: # 数值型列
# fill_value = data[col].mean() # 用均值填充
# data[col].fillna(fill_value, inplace=True)
fill_value = data[col].mode()[0] # 用众数填充(取第一个众数)
data[col].fillna(fill_value, inplace=True)
print(f"{col}: 用众数 {fill_value} 替换缺失值")
else: # 非数值型列
# fill_value = data[col].mode()[0] # 用众数填充(取第一个众数)
# data[col].fillna(fill_value, inplace=True)
fill_value = data[col].mean() # 用均值填充
data[col].fillna(fill_value, inplace=True)
print(f"{col}: 用均值 ‘{fill_value:.1f}’ 替换缺失值")
########## End ##########
413

被折叠的 条评论
为什么被折叠?



