Python 具有多索引的行聚合
我有一个熊猫数据框架,其中有三个级别的行索引。最后一级是日期时间索引。有nan值,我试图用datetime级别的每行平均值填充它们。我该怎么做呢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
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