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

yipeiwu_com6年前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+OpenCV+图片旋转并用原底色填充新四角的例子

我就废话不多说了,直接上代码吧! import cv2 from math import fabs, sin, cos, radians import numpy as np fro...

Python (Win)readline和tab补全的安装方法

Python (Win)readline和tab补全的安装方法

最近开始学Python,想直接通过命令行的方式进行学习。 奈何没有Tab补全,操作实在麻烦,网上各种百度后无果(x64系统,x86的可以直接下载网上各种编译好的包) 最后自己百度+加上自...

Windows下pycharm创建Django 项目(虚拟环境)过程解析

Windows下pycharm创建Django 项目(虚拟环境)过程解析

1. 背景 我在 Windows 下的 pycharm 直接创建 全新 Django 项目 会 pip 和其他报错 ,暂时解决不了,另外后续的多个项目只需要一套python 环境, 所以...

python OpenCV学习笔记直方图反向投影的实现

python OpenCV学习笔记直方图反向投影的实现

本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dc/df6/tuto...

详解Python打包分发工具setuptools

详解Python打包分发工具setuptools

Python打包分发工具setuptools:曾经 Python 的分发工具是 distutils,但它无法定义包之间的依赖关系。setuptools 则是它的增强版,能帮助我们更好的创...