# 1)读取数据:
df = pd.read_excel('file_path', skiprows=2) 跳过2个空行的数据不读取
# 2)检测空值:
df.isnull() # 所有检测,对应的df.notnull() 为True说明有值
df['分数'].isnull() # 单列检测
# 3)筛选没有空分数的所有行:
df.loc[df['分数'].notnull(), :]
# 4)删掉全是空值的列: columns按列删除,how为all是所有字段为空,一点值也没有才判定删除
df.dropna(axis='columns', how='all', inplace=True)
# 5)删除掉全是空值的行
df.dropna(axis='index', how='all', inplace=True)
# 6)将分数列为空的填充为0分
# 6.1)方案1
df.fillna({'分数':0})
# 6.2)方案2
df.loc[:, '分数'] = df['分数'].fillna(0) # 修改为分数的列
# 7)将姓名的缺失值进行填充 使用前面的有效值进行填充 填充姓名列
df.loc[:, '姓名'] = df['姓名'].fillna(method='ffill') # ffill--->forward fill
# 8)将清洗好的excel进行保存 index=False不对索引进行保存
df.to_excel('/Users/mac/PycharmProjects/49_pandas/data/student_excel_clean.xlsx', index=False)