缺失值

判断各个单元格是否为空。

   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()

 

  

格式错误

如果学校名称一列包含缩写、全称以及不全的名称,你可以采取以下步骤来统一格式:

  1. 识别不一致的名称: 首先,识别数据中的不一致名称。可以使用Pandas的unique()方法查看不同的学校名称,以便了解存在哪些不一致。

  2. 制定规则: 定义一些规则或转换方法,以统一学校名称的格式。这些规则可以包括:

    • 缩写转全称:将缩写转换为对应的全称。
    • 补全不全的名称:添加缺失的部分,使名称完整。
    • 删除多余信息:去除多余的信息,例如括号中的注释。
  3. 使用函数进行转换: 创建一个自定义的函数,将上述规则应用于学校名称列。这个函数可以使用apply()方法来逐行处理数据。

  4. 示例代码:

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)

  

posted on   黑逍逍  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示