您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)數(shù)據(jù)清洗常用的2個(gè)小trick分別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
str.split
和 str.cat
因?yàn)橐陨蟽蓚€(gè)方法,直接按列操作,所以省掉一層 for 循環(huán),下面直接看例子。
df = pd.DataFrame({'names':["Geordi La Forge", "Deanna Troi", "Jack"],'IDs':[1,2,3]})
df
對(duì) names
列,按照第一個(gè)空格分割為兩列:
df["first_name"] = df["names"].str.split(n = 1).str[0]
df["last_name"] = df["names"].str.split(n = 1).str[1]
df
結(jié)果如下:
分割列搞定,接下來(lái)再合并回去,使用 cat
方法:
df["names_copy"] = df["first_name"].str.cat(df["last_name"], sep = " ")
df
合并兩列得到一個(gè)新列 names_copy
搞定!
還有別的合并方法嗎,直接使用 +
連接字符串:
df["names_copy2"] = df["first_name"] + " "+ df["last_name"]
df
效果是一樣的:
有特征上百個(gè),根據(jù)多個(gè)特征篩選 DataFrame 時(shí),如果這么做,可讀性不太友好:
df[(df["continent"] == "Europe") & (df["beer_servings"] > 150) & (df["wine_servings"] > 50) & (df["spirit_servings"] < 60)]
連續(xù)多個(gè)篩選條件寫到一行里。
cr1 = df["continent"] == "Europe"
cr2 = df["beer_servings"] > 150
cr3 = df["wine_servings"] > 50
cr4 = df["spirit_servings"] < 60
df[cr1 & cr2 & cr3 & cr4]
看完上述內(nèi)容,你們對(duì)數(shù)據(jù)清洗常用的2個(gè)小trick分別是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。