python - 我怎样才能填写我的数据框

标签 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  

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

最佳答案

看来你可以使用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/

相关文章:

python - 如何使用 Python 检查时间窗口中是否存在某些值

python - 数据框中的月份列,加上月份数,与当前日历月进行比较

python - 如何使用 Pandas 重构简单的数据帧解析代码

python - 在 Python 中对 CSV 进行排序

python - 如果非对角线条目中全为零,则删除行和列

Python:基于重叠项对DataFrame进行聚类

python - 添加年份作为 timedelta 单位来移动日期的优雅方法 - Pandas

python - 在 pandas apply 函数中获取行的索引

python - 如何在 psycopg2 查询中返回 json?

python - 如何询问用户特定的字符串并循环直到输入有效的输入?