缺失值

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

   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. 示例代码:

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 2023-09-19 02:02  黑逍逍  阅读(93)  评论(0)    收藏  举报