数据处理完毕后某一列多了五个“,” 下附程序

img

img

img

上附数据初始格式和数据处理代码,以及处理完后的数据情况,莫名其妙出现了五个逗号 是程序问题还是数据问题

把concat去掉看看,concat一般是合并两个dataframe,你这里不知道为啥要合并一个

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7558934
  • 这篇博客也不错, 你可以看下机器学习/算法面试笔记1——损失函数、梯度下降、优化算法、过拟合和欠拟合、正则化与稀疏性、归一化、激活函数
  • 除此之外, 这篇博客: 【特征工程】特征分箱中的 五. 导入数据,运行函数,实现自动化特征评估功能 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述

  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    原因:

    在数据处理程序中,对某一列进行了逗号的替换操作,将逗号替换为空字符串。如果该列中原本存在有连续两个及以上逗号的情况,那么替换操作会将它们都替换为空字符串,从而导致多余的逗号出现。

    解决方法:

    为了避免出现这种情况,可以在对该列进行逗号替换操作之前,先对该列进行特殊字符的转义操作。例如,将连续两个及以上逗号替换为一个逗号加一个特殊字符(如“||”),然后再将所有逗号替换为空字符串,最后再将特殊字符替换回逗号即可。

    以下是修改后的代码:

    # 数据处理程序
    def data_process(data):
        """
        对数据进行处理
        """
        # 对某个列进行处理
        # 在进行逗号替换操作之前,先将连续两个及以上逗号替换为一个逗号加一个特殊字符(如“||”)
        data['column_name'] = data['column_name'].apply(lambda x: x.replace('old_value', 'new_value'))
        data['column_name'] = data['column_name'].apply(lambda x: re.sub(r',+', ',||', x))
        # 将所有逗号替换为空字符串
        data['column_name'] = data['column_name'].apply(lambda x: x.replace(',', ''))
        # 将特殊字符替换回逗号
        data['column_name'] = data['column_name'].apply(lambda x: x.replace('||', ','))
    
        return data
    

    使用 re.sub 函数对连续的两个及以上逗号进行替换操作,将其替换为一个逗号加一个特殊字符(如“||”)。处理完所有逗号替换操作后,在将特殊字符替换回逗号即可。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^