我有一个看起来像这样的数据结构:
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/