zoukankan      html  css  js  c++  java
  • pandas,对dataFrame中某一个列的数据进行处理

    背景:dataFrame的数据,想对某一个列做逻辑处理,生成新的列,或覆盖原有列的值
     
    下面例子中的df均为pandas.DataFrame()的数据
     

    1、增加新列,或更改某列的值

    df["列名"]=值
     
    如果值为固定的一个值,则dataFrame中该列所有值均为这个数据
     

    2、处理某列

    df["列名"]=df.apply(lambda x:方法名(x,入参2),axis=1)
     
    说明:
    1、方法名为单独的方法名,可以处理传入的x数据
    2、x为每一行的数据,做为方法的入参1;x中的数据可以用【x.列名】来获取
    3、入参2等为方法需要的其他参数,不需要可以不写
    4、axis=1,表示每次取一行数据进行处理,按行处理
     

    例子如下:

    根据列title的是否包含特定词,来赋值给新的列1或0的值
     
    bugInfo['IntegrationTest'] = bugInfo.apply(lambda x: self.bug_rule(x, "IntegrationTest"), axis = 1)
     
    def bug_rule(self, frame, type):  # 处理列表中的数据,更新到sql数据库中
        result = "0"
        if type == "SmokeTest":  # 冒烟测试
            if re.search("^[冒烟]|[冒烟测试]|【冒烟】|【冒烟测试】", frame["title"]):
                result = "1"
        elif type == "InterfaceTest":  # 接口测试
            if re.search("^[接口]|[接口测试]|【接口】|【接口测试】", frame["title"]):
                result = "1"
        elif type == "IntegrationTest":  # 集成测试
            if self.IntegrationTime != "" and self.IntegrationTime == frame["created_time"]:
                result = "1"
        return result
     
  • 相关阅读:
    吴裕雄--天生自然 PHP开发学习:数组
    吴裕雄--天生自然 JAVASCRIPT开发学习:测试 jQuery
    【t065】最敏捷的机器人
    【t079】火星上的加法运算
    【t053】整数去位
    【9604】纪念品分组
    【心情】bjdldrz
    【9601】零件分组
    【9916】编辑距离
    【38.24%】【POJ 1201】Intervals
  • 原文地址:https://www.cnblogs.com/meitian/p/10568077.html
Copyright © 2011-2022 走看看