当前在线人工客服
天达云-技术
QQ:1324027256
天达云-技术
QQ:1902643386
天达云-售前
QQ:1650874901
天达云-售前
QQ:2207995833
天达云-合作
QQ:1984186903
天达云微信小程序
400-837-6568

数据清洗常用的2个小trick分别是什么
更新:HHH   时间:2023-1-7


今天就跟大家聊聊有关数据清洗常用的2个小trick分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Pandas 巧用 str.splitstr.cat

因为以上两个方法,直接按列操作,所以省掉一层 for 循环,下面直接看例子。

df = pd.DataFrame({'names':["Geordi La Forge", "Deanna Troi", "Jack"],'IDs':[1,2,3]})
df
 
 
 

列分割

names 列,按照第一个空格分割为两列:

df["first_name"] = df["names"].str.split(n = 1).str[0]
df["last_name"] = df["names"].str.split(n = 1).str[1]
df
 

结果如下:

 
 

列合并方法 1

分割列搞定,接下来再合并回去,使用 cat 方法:

df["names_copy"] = df["first_name"].str.cat(df["last_name"], sep = " ")
df
 
 

合并两列得到一个新列 names_copy 搞定!

 

列合并方法 2

还有别的合并方法吗,直接使用 + 连接字符串:

df["names_copy2"] = df["first_name"] + " "+ df["last_name"]
df
 

效果是一样的:

 
 

Pandas 多条件筛选可读性较好的写法

有特征上百个,根据多个特征筛选 DataFrame 时,如果这么做,可读性不太友好:

 
df[(df["continent"] == "Europe") & (df["beer_servings"] > 150) & (df["wine_servings"] > 50) & (df["spirit_servings"] < 60)]
 

连续多个筛选条件写到一行里。

更好可读性的写法

cr1 = df["continent"] == "Europe"
cr2 = df["beer_servings"] > 150
cr3 = df["wine_servings"] > 50
cr4 = df["spirit_servings"] < 60

df[cr1 & cr2 & cr3 & cr4]
看完上述内容,你们对数据清洗常用的2个小trick分别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注天达云行业资讯频道,感谢大家的支持。
返回大数据教程...