Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有多索引的行聚合_Python_Pandas - Fatal编程技术网

Python 具有多索引的行聚合

Python 具有多索引的行聚合,python,pandas,Python,Pandas,我有一个熊猫数据框架,其中有三个级别的行索引。最后一级是日期时间索引。有nan值,我试图用datetime级别的每行平均值填充它们。我该怎么做呢 data_df Level 0 | Level 1 | Level 2 | A 123 2019-01-28 17:00:00 | 3 | 1 | nan 2019-01-28 18:00:00 | 2 | nan | 1

我有一个熊猫数据框架,其中有三个级别的行索引。最后一级是日期时间索引。有nan值,我试图用datetime级别的每行平均值填充它们。我该怎么做呢

data_df

Level 0 | Level 1 |        Level 2      |      
A           123     2019-01-28 17:00:00 |   3  |  1    | nan
                    2019-01-28 18:00:00 |   2  |  nan  | 1
                    2019-01-28 19:00:00 |  nan |  nan  | 5
            234     2019-01-28 05:00:00 |   1  |  1    | 3
                    2019-01-28 06:00:00 |   nan  |  nan  | nan
某些行可能都是nan值。在这种情况下,我想用0填充行。某些行可能已填入所有值,因此不需要使用平均值进行插补

我希望得到以下结果:

Level 0 | Level 1 |        Level 2      |      
A           123     2019-01-28 17:00:00 |   3  |  1    | 2
                    2019-01-28 18:00:00 |   2  |  1.5  | 1
                    2019-01-28 19:00:00 |  5   |  5    | 5
            234     2019-01-28 05:00:00 |   1  |  1    | 3
                    2019-01-28 06:00:00 |   0  |  0  | 0
与每行的
mean
一起使用,最后仅通过以下方式转换
NaN
s行:

另一种解决方案用于替换,但由于未实现
df。fillna(df.mean(axis=1),axis=1)
需要双转置:

df = df.T.fillna(df.mean(axis=1)).fillna(0).T
与每行的
mean
一起使用,最后仅通过以下方式转换
NaN
s行:

另一种解决方案用于替换,但由于未实现
df。fillna(df.mean(axis=1),axis=1)
需要双转置:

df = df.T.fillna(df.mean(axis=1)).fillna(0).T