案例:对特殊的Excel的读取,清洗,处理
import pandas as pd
#skiprows=2,跳过前两行
studf = pd.read_excel("../data/stu.xlsx",skiprows=2)
print(studf)
print(studf.isnull())
# print(studf['分数'].isnull())
# print(studf['分数'].isnull())
# 筛选没有空分数的所有行
# print(studf.loc[studf['分数'].notnull(),:])
# 如果列都是空,则删除掉,how匹配所有,inplace=True代表直接修改
studf.dropna(axis="columns", how='all', inplace=True)
print(studf)
studf.dropna(axis="index", how='all', inplace=True)
print(studf)
studf = studf.fillna({"分数": 0})
# 等同于
# studf.loc[:, '分数'] = studf['分数'].fillna(0)
print(studf)
使用前面有效值填充,用ffill:forward fill
studf.loc[:, '姓名'] = studf['姓名'].fillna(method='ffill')
print(studf)
studf.to_excel("../data/stu_clean.xlsx", index=False)
最后结果