python - 我如何将 NaNs 归因为 means() 但通过多索引

标签 python python-2.7 pandas

我有一个看起来像这样的数据结构:

S1  D1  1   2   3   4   5
    D2  2   Nan 3   4   5
    D3  3   4   5   Nan 6
S2  D4  Nan 3   4   5   6
    D5  6   7   8   9   0
S3  D6  3   4   5   6   7
    D7  4   5   6   7   Nan
    D8  5   6   7   7   8
    D9  2   3   4   5   6

S 是不同的州,D 是不同的地区。我如何将 NAN 归因为列的均值,但仅针对相应的州,而不是所有列的均值?

在这方面完全受阻,感谢任何帮助。

输出应该是这样的:

S1  D1  1   2   3   4   5
    D2  2   3   3   4   5
    D3  3   4   5   4   6
S2  D4  6   3   4   5   6
    D5  6   7   8   9   0
S3  D6  3   4   5   6   7
    D7  4   5   6   7   7
    D8  5   6   7   7   8
    D9  2   3   4   5   6

不是这个对整列进行平均:

S1  D1  1   2   3   4   5
    D2  2   4.25    3   4   5
    D3  3   4   5   5.87    6
S2  D4  3.25    3   4   5   6
    D5  6   7   8   9   0
S3  D6  3   4   5   6   7
    D7  4   5   6   7   4.25
    D8  5   6   7   7   8
    D9  2   3   4   5   6

谢谢。

最佳答案

In [354]: df.fillna(df.mean(level=0))
Out[354]:
         2    3  4    5    6
0  1
S1 D1  1.0  2.0  3  4.0  5.0
   D2  2.0  3.0  3  4.0  5.0
   D3  3.0  4.0  5  4.0  6.0
S2 D4  6.0  3.0  4  5.0  6.0
   D5  6.0  7.0  8  9.0  0.0
S3 D6  3.0  4.0  5  6.0  7.0
   D7  4.0  5.0  6  7.0  7.0
   D8  5.0  6.0  7  7.0  8.0
   D9  2.0  3.0  4  5.0  6.0

关于python - 我如何将 NaNs 归因为 means() 但通过多索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748208/

相关文章:

python - Anaconda 3 安装错误 - 没有脚本文件夹,也没有 conda 命令提示符和快捷方式

python - OpenCV和Python:对象跟踪并将被跟踪的对象保存为图像

python - Python中的 self 变量与类变量

python - pip install numpy 不起作用 : "No matching distribution found"

python - 子集 Pandas 数据框

python - cx_Freeze exe 在运行时导致 psycopg2 出现 sqlalchemy.exc.NoSuchmoduleError

python - 从浏览器获取输入 - python + 表单

python-2.7 - 如何绘制多类分类器中是否发生过拟合

python - df.to_latex() 的格式

Python pandas 模糊逻辑