您好,登錄后才能下訂單哦!
背景: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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。