我有一个问题,关于如何在熊猫数据框中填充未成年人日期值。 我发现了类似的问题(pandas fill missing dates in time series)
但这不能回答我的实际问题。
我有一个看起来像这样的数据框:
date amount person country
01.01.2019 10 John IT
01.03.2019 5 Jane SWE
01.05.2019 3 Jim SWE
01.05.2019 10 Jim SWE
02.01.2019 10 Bob UK
02.01.2019 10 Jane SWE
02.03.2019 10 Sue IT
如您所见,日期中缺少值。 我需要做的是填充缺少的日期值,并用上一行中的值(“ amount”列除外)填充剩余的列值,我需要将其设置为0,否则我将伪造我的金额。 / p>
我知道Pandas(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.reindex.html)中有一个用于执行此命令的命令,但是我不确定如何将其应用于填充缺失值。
data = data.reindex(pd.date_range("2019-01-01", "2019-01-03"))
method='backfill') , fill_value="0") ?
预期输出如下:
date amount person country
01.01.2019 10 John IT
01.02.2019 0 Jane SWE
01.03.2019 5 Jane SWE
01.04.2019 0 Jane SWE
01.05.2019 3 Jim SWE
01.05.2019 10 Jim SWE
02.01.2019 10 Bob UK
02.01.2019 10 Jane SWE
02.02.2019 0 Jane SWE
02.03.2019 10 Sue IT
在此方面的任何帮助,我将不胜感激。
谢谢你和BR
答案 0 :(得分:0)
我认为最简单的方法是分2个步骤替换缺失值:
data = data.reindex(pd.date_range("2014-11-01", "2019-10-31"))
data['amount'] = data['amount'].fillna(0)
data = data.bfill()