import pandas as pd
import numpy as np
"""
本节主要介绍使用pandas进行缺失值处理
"""
path = './test.xlsx'
df = pd.read_excel(path,skiprows=2) # skiprows=2代表的含义是越过两个空行
# 将温度C去点,并转换为整数
df.loc[:,'bwendu'] = df['bwendu'].astype(str).str.replace('C','').astype('int32')
df.loc[:,'ywendu'] = df['ywendu'].astype(str).str.replace('C','').astype('int32')
# 1.检测空值
value_1 = df.isnull() # 输出结果是为空就是true
value_2 = df.notnull() # 输出结果不为空就是true
value_3 = df['bwendu'].isnull()
# 筛选没有空分数的每一行
value_4 = df.loc[df['fenshu'].notnull(),:]
# 2.删除掉全部是空值的列
df.dropna(axis='columns',how='all',inplace=True) # 按列删除,并且当列所有行都是空值就进行删除,inplace=true即代表修改当前df
# 删除掉全部是空值的行
df.dropna(axis='index',how='all',inplace=True)
# 3.将分数列为空的填充为0分
# 两种方法:1
df.fillna({'分数':0})
# 方法 2
df.loc[:,'分数'] = df['分数'].fillna(0)
# 将姓名的缺失值填充,使用前面的有效值进行填充
df.loc[:,'姓名'] = df['姓名'].fillna(method='ffill')
# 将清洗好的excel进行保存
df.to_excel('./test.csv',index=False)
Pandas如何进行缺失值处理_6
最新推荐文章于 2022-10-15 23:45:57 发布