有人可以告诉我如何填充数据框的缺失值吗?缺失值不会以 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
我的标题是年份,我的索引是国家。
最佳答案
看来你可以使用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
关于python - 我怎样才能填写我的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369455/