pandas对dataFrame中某一个列的数据进行处理的方法

yipeiwu_com5年前Python基础

背景: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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实时获取cmd的输出

最近发现一个问题,一个小伙儿写的console程序不够健壮,监听SOCKET的时候容易崩,造成程序的整体奔溃,无奈他没有找到问题的解决办法,一直解决不了,可是这又是一个监控程序,还是比较...

Python中有趣在__call__函数

Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。...

python机器学习之神经网络(三)

python机器学习之神经网络(三)

前面两篇文章都是参考书本神经网络的原理,一步步写的代码,这篇博文里主要学习了如何使用neurolab库中的函数来实现神经网络的算法。 首先介绍一下neurolab库的配置: 选择你所...

Python与shell的3种交互方式介绍

概述 考虑这样一个问题,有hello.py脚本,输出”hello, world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输...

快速入手Python字符编码

前言 对于很多接触Python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭。 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,...