用列的模式替换空字符串

时间:2017-03-10 05:49:07

标签: python pandas

我有以下pandas数据框:

df = pd.DataFrame([["hitesh","","HAIK"],["hitesh","red","ll"],["haikent","red","tt"],["","","HAIK"]])

我试图用每列的相应模式替换数据框的空字符串。

我正在尝试

df= df.replace("" , df.mode()[0])

但这只是用第一列模式替换数据框的第一列空字符串。有没有办法用相应的列模式替换所有空字符串?

2 个答案:

答案 0 :(得分:1)

一种方法是用NaNs替换空字符串,以便在mode计算期间不考虑这些字符串。然后,使用按列计算的模式值的第一行填充这些缺少的元素。

df.replace({"":np.nan}, inplace=True)
df.fillna(df.mode().iloc[0])

enter image description here

答案 1 :(得分:0)

尝试to_replace df = df.replace(to_replace = [“”],value = df.mode()[0])