背景:dataFrame的数据,想对某一个列做逻辑处理,生成新的列,或覆盖原有列的值
下面例子中的df均为pandas.DataFrame()的数据
1、增加新列,或更改某列的值
1
|
df[ "列名" ] = 值 |
如果值为固定的一个值,则dataFrame中该列所有值均为这个数据
2、处理某列
1
|
df[ "列名" ] = df. apply ( lambda x:方法名(x,入参 2 ),axis = 1 ) |
说明:
1、方法名为单独的方法名,可以处理传入的x数据
2、x为每一行的数据,做为方法的入参1;x中的数据可以用【x.列名】来获取
3、入参2等为方法需要的其他参数,不需要可以不写
4、axis=1,表示每次取一行数据进行处理,按行处理
例子如下:
根据列title的是否包含特定词,来赋值给新的列1或0的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/meitian/p/10568077.html