缺失值
判断各个单元格是否为空。
isnull() 判断各个单元格是否为空
删除包含缺失值的行
df.dropna(inplace=True)
填充缺失值
# 填充缺失值为指定值,例如0 df.fillna(0, inplace=True)
# 或者填充缺失值为列的均值 df.fillna(df.mean(), inplace=True)
重复值
查找重复值
df.duplicated()
删除重复值
df.drop_duplicates(inplace=True)
错误数据
数据类型转换: 使用.astype()
方法将列的数据类型更改为正确的类型
# 转换为整数类型 df['column_name'] = df['column_name'].astype(int)
# 转换为浮点数类型 df['column_name'] = df['column_name'].astype(float)
字符串处理: 如果错误数据涉及到字符串的问题,使用字符串方法(如.str.replace()
、.str.strip()
等)来处理。
# 替换字符串中的特定字符 df['column_name'] = df['column_name'].str.replace('old_string', 'new_string')
# 去除字符串两端的空格 df['column_name'] = df['column_name'].str.strip()
格式错误
如果学校名称一列包含缩写、全称以及不全的名称,你可以采取以下步骤来统一格式:
-
识别不一致的名称: 首先,识别数据中的不一致名称。可以使用Pandas的
unique()
方法查看不同的学校名称,以便了解存在哪些不一致。 -
制定规则: 定义一些规则或转换方法,以统一学校名称的格式。这些规则可以包括:
- 缩写转全称:将缩写转换为对应的全称。
- 补全不全的名称:添加缺失的部分,使名称完整。
- 删除多余信息:去除多余的信息,例如括号中的注释。
-
使用函数进行转换: 创建一个自定义的函数,将上述规则应用于学校名称列。这个函数可以使用
apply()
方法来逐行处理数据。 -
示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import pandas as pd # 示例的规则字典,可以根据具体情况扩展 name_mapping = { "ABC" : "ABC University" , "XYZ" : "XYZ College" , "DEF" : "DEF Institute" } def clean_school_name(name): # 如果名称在规则字典中,直接映射 if name in name_mapping: return name_mapping[name] # 否则根据需要进行其他处理,例如补全或删除多余信息 elif "Partial Name" in name: return "Complete Name" else : return name # 创建示例DataFrame data = { 'School Name' : [ 'ABC' , 'XYZ College' , 'Incomplete' , 'DEF' ]} df = pd.DataFrame(data) # 应用名称清洗函数 df[ 'School Name' ] = df[ 'School Name' ].apply(clean_school_name) # 打印清洗后的DataFrame print(df) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!