我如何填写我的数据框

时间:2017-02-21 14:02:29

标签: python pandas dataframe

有人可以告诉我如何填写数据框的缺失值吗?缺少值不会出现为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  

我的标题是年份,我的索引是国家。

2 个答案:

答案 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)