有人可以告诉我如何填写数据框的缺失值吗?缺少值不会出现为NaN或任何常见的东西,而是显示为两个点,如...我将如何填充它们所在的那一行的平均值?
1971 1990 1999 2000 2001 2002
Estonia .. 17.4 8.3 8.5 8.5 8.6
Spain 61.6 151.2 205.9 222.2 233.2 241.6
SlovakRepublic 10.9 25.5 28.1 30.8 31.9 32.2
Slovenia .. 12.4 13.3 13.6 14.5 14.6
我的标题是年份,我的索引是国家。
答案 0 :(得分:2)
您似乎可以使用mask
,按values
创建的numpy array
进行比较,然后用mean
替换,最后将所有列投放到float
:
print (df.mean(axis=1))
Estonia 10.26
Spain 210.82
SlovakRepublic 29.70
Slovenia 13.68
df = df.mask(df.values == '..', df.mean(axis=1), axis=0).astype(float)
print (df)
1971 1990 1999 2000 2001 2002
Estonia 10.26 17.4 8.3 8.5 8.5 8.6
Spain 61.6 151.2 205.9 222.2 233.2 241.6
SlovakRepublic 10.9 25.5 28.1 30.8 31.9 32.2
Slovenia 13.68 12.4 13.3 13.6 14.5 14.6
答案 1 :(得分:0)
您应该可以使用.set_value
尝试df_name.set_value('index','column',value)
类似
df_name.set_value('Estonia','1971', 50)