ai获客系统搭建、ai获客系统源码

AI 自动获客系统中数据清洗与整理功能的示例代码,涵盖了处理缺失值、去除重复数据、处理异常值和格式化数据等常见的数据清洗操作。假设数据以 CSV 文件形式存储,使用 pandas 库来完成这些任务。ai获客系统搭建、ai获客系统源码

代码说明

从网页收集数据

collect_web_data 函数使用 requests 库向指定 URL 发送 HTTP 请求获取网页内容,然后使用 BeautifulSoup 库解析 HTML 内容,提取所有段落文本作为数据。

从社交媒体收集数据

collect_social_media_data 函数模拟了从社交媒体 API 获取数据的过程,返回一个包含模拟用户帖子信息的列表。在实际应用中,需要根据具体社交媒体平台的 API 文档进行开发,通常涉及到认证、请求参数设置等步骤。

从文件收集数据

collect_file_data 函数可以处理 JSON 和 CSV 文件。对于 JSON 文件,使用 json.load 解析;对于 CSV 文件,使用 csv.reader 逐行读取。

整合多渠道数据

integrate_multi_channel_data 函数调用上述三个数据收集函数,将不同渠道的数据整合到一个字典中,以渠道名称作为键,对应的数据列表作为值。

import pandas as pd

import numpy as np

def data_cleaning(file_path):

    try:

        # 读取 CSV 文件

        df = pd.read_csv(file_path)

        # 1. 处理缺失值

        # 查看各列的缺失值数量

        missing_values = df.isnull().sum()

        print("各列缺失值数量:")

        print(missing_values)

        # 对于数值型列,用均值填充缺失值

        numerical_columns = df.select_dtypes(include=[np.number]).columns

        for col in numerical_columns:

            df[col].fillna(df[col].mean(), inplace=True)

        # 对于非数值型列,用最频繁的值填充缺失值

        categorical_columns = df.select_dtypes(include=['object']).columns

        for col in categorical_columns:

            df[col].fillna(df[col].mode()[0], inplace=True)

        # 2. 去除重复数据

        duplicates = df.duplicated()

        df = df[~duplicates]

        # 3. 处理异常值

        # 这里简单假设数值型列中大于 3 倍标准差的值为异常值,用均值替换

        for col in numerical_columns:

            mean = df[col].mean()

            std = df[col].std()

            df[col] = np.where((df[col] - mean).abs() > 3 * std, mean, df[col])

        # 4. 格式化数据

        # 假设存在日期列,将其转换为日期格式

        date_columns = [col for col in df.columns if 'date' in col.lower()]

        for col in date_columns:

            df[col] = pd.to_datetime(df[col])

        return df

    except FileNotFoundError:

        print(f"文件 {file_path} 未找到。")

    except Exception as e:

        print(f"数据清洗过程中发生未知错误: {e}")

    return None

if __name__ == "__main__":

    file_path = 'customer_data.csv'  # 替换为实际的 CSV 文件路径

    cleaned_df = data_cleaning(file_path)

    if cleaned_df is not None:

        print("清洗后的数据:")

        print(cleaned_df.to_csv(sep='\t', na_rep='nan'))

        # 保存清洗后的数据到新文件

        cleaned_df.to_csv('cleaned_customer_data.csv', index=False)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容