datetime
2012-01-01    125.5010
2012-01-02    NaN
2012-01-03    125.5010
2013-01-04    NaN
2013-01-05    125.5010
2013-02-28    125.5010
2014-02-28    125.5010
2016-01-02    125.5010
2016-01-04    125.5010
2016-02-28    NaN


我想通过使用从数据集计算出的气候来填充此数据框中的missig值,即通过平均其他年份的28th feb 2016值来填充丢失的28th feb值。我该怎么做呢?

最佳答案

您可以将groupby用于month,将daytransform用于fillna mean

print df.groupby([df.index.month, df.index.day]).transform(lambda x: x.fillna(x.mean()))
datetime
2012-01-01  125.501
2012-01-02  125.501
2012-01-03  125.501
2013-01-04  125.501
2013-01-05  125.501
2013-02-28  125.501
2014-02-28  125.501
2016-01-02  125.501
2016-01-04  125.501
2016-02-28  125.501

关于python - 使用均值填写 Pandas 数据框中的缺失值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34972297/

10-11 10:37