欢迎访问宙启技术站
智能推送

利用Python的load_data()函数实现数据预处理和清洗

发布时间:2023-12-13 14:32:00

数据预处理和清洗是数据分析的重要步骤之一,它包括对原始数据进行处理、转换和清洗,以便后续分析和建模可以更加准确和有效。

Python中的load_data()函数可以用来加载原始数据并进行预处理和清洗。下面是一个使用例子,展示如何使用load_data()函数进行数据预处理和清洗。

import pandas as pd

def load_data(file_path):
    # 读取原始数据
    data = pd.read_csv(file_path)
    
    # 查看数据信息,包括行数、列数、数据类型等
    print('原始数据信息:')
    print(data.info())
    
    # 删除缺失值较多的列
    missing_threshold = 0.8 # 缺失值阈值为80%
    data = data.dropna(thresh=missing_threshold*len(data), axis=1)
    
    # 处理缺失值
    print('缺失值处理前数据信息:')
    print(data.info())
    data = data.dropna() # 删除包含缺失值的行
    
    # 处理异常值
    outlier_threshold = 3 # 异常值阈值为3倍标准差
    data = data[(data['value'] - data['value'].mean()) / data['value'].std() < outlier_threshold]
    
    # 数据转换
    data['date'] = pd.to_datetime(data['date']) # 将日期转换为datetime格式
    data['category'] = data['category'].astype('category') # 将类别转换为category类型
    data['value'] = data['value'].astype('float') # 将数值列转换为float类型
    
    # 清洗数据
    data['value'] = data['value'].apply(lambda x: round(x, 2)) # 将数值列保留两位小数
    
    # 输出清洗后的数据信息
    print('清洗后的数据信息:')
    print(data.info())
    
    return data

file_path = 'data.csv' # 原始数据文件路径
clean_data = load_data(file_path)

在这个例子中,首先使用pandas库的read_csv()函数读取原始数据。然后,使用info()函数查看原始数据的基本信息,包括行数、列数和数据类型等。

接下来,根据缺失值的阈值,使用dropna()函数删除缺失值较多的列。然后再次使用info()函数查看缺失值处理前的数据信息,并使用dropna()函数删除包含缺失值的行。

接下来,根据异常值的阈值,使用公式将数据转换为标准化形式,并筛选出不含异常值的数据。

然后,使用pd.to_datetime()函数将日期列转换为datetime格式,使用astype()函数将类别列转换为category类型,并使用astype()函数将数值列转换为float类型。

最后,使用apply()函数对数值列保留两位小数,并再次使用info()函数查看清洗后的数据信息。

通过load_data()函数,我们可以方便地实现数据预处理和清洗,从而为后续的数据分析和建模提供准确可靠的数据基础。