前言
自己想对dataframe某列进行替换
正文
前面是有
data.insert(11,'discovery_like_count',-10)
data.insert(12,'discovery_collect_count',-10)
data.insert(13,'discovery_comment_count',-10)
(1)apply与lambda结合
data['discovery_like_count'] = data['discovery_like_count'].apply(lambda x:data[data['discovery_like_count']!=-10]['discovery_like_count'].mode()[0] if x == -10 else x)
(2)replace替换
data['discovery_comment_count'].replace(-10,data[data['discovery_like_count']!=-10]['discovery_like_count'].mode()[0])
(3)fillna()方法
data[‘a’].fillna(‘你替换的内容’)
总结
因为我这是做特征工程,相对没有匹配的少的用众数进行匹配,但是因为前面的我用data.insert(13,‘discovery_comment_count’,-10),所以一直是用-10替换-10,搞我一脸懵,所以前面筛选!=-10,再用mode()弄出众数填补就可以了