pandas對dataFrame中某一個列的數(shù)據(jù)進行處理的方法
背景:dataFrame的數(shù)據(jù),想對某一個列做邏輯處理,生成新的列,或覆蓋原有列的值
下面例子中的df均為pandas.DataFrame()的數(shù)據(jù)
1、增加新列,或更改某列的值
df["列名"]=值
如果值為固定的一個值,則dataFrame中該列所有值均為這個數(shù)據(jù)
2、處理某列
df["列名"]=df.apply(lambda x:方法名(x,入?yún)?),axis=1)
說明:
1、方法名為單獨的方法名,可以處理傳入的x數(shù)據(jù)
2、x為每一行的數(shù)據(jù),做為方法的入?yún)?;x中的數(shù)據(jù)可以用【x.列名】來獲取
3、入?yún)?等為方法需要的其他參數(shù),不需要可以不寫
4、axis=1,表示每次取一行數(shù)據(jù)進行處理,按行處理
例子如下:
根據(jù)列title的是否包含特定詞,來賦值給新的列1或0的值
bugInfo['IntegrationTest'] = bugInfo.apply(lambda x: self.bug_rule(x, "IntegrationTest"), axis = 1)
def bug_rule(self, frame, type): # 處理列表中的數(shù)據(jù),更新到sql數(shù)據(jù)庫中
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使用pandas處理大數(shù)據(jù)節(jié)省內存技巧(推薦)
這篇文章主要介紹了python使用pandas處理大數(shù)據(jù)節(jié)省內存技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05
python 實現(xiàn)非極大值抑制算法(Non-maximum suppression, NMS)
這篇文章主要介紹了python 如何實現(xiàn)非極大值抑制算法(Non-maximum suppression, NMS),幫助大家更好的進行機器學習,感興趣的朋友可以了解下2020-10-10
Python爬蟲實戰(zhàn)之用selenium爬取某旅游網(wǎng)站
上一篇我們已經(jīng)知道怎么簡單使用selenium了,那么我們就從這篇博客來動手爬取網(wǎng)站吧,文中有非常詳細的代碼示例,需要的朋友可以參考下2021-06-06

