Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.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-在pandas中填写与特定属性相关的缺失日期_Python_Pandas - Fatal编程技术网

python-在pandas中填写与特定属性相关的缺失日期

python-在pandas中填写与特定属性相关的缺失日期,python,pandas,Python,Pandas,我的数据如下所示: id, date, target 1,2016-10-24,22 1,2016-10-25,31 1,2016-10-27,44 1,2016-10-28,12 2,2016-10-21,22 2,2016-10-22,31 2,2016-10-25,44 2,2016-10-27,12 我想在id中填写缺失的日期。 例如,id=1的日期范围为2016-10-24~2016-10-28,缺少2016-10-26。此外,id=2的日期范围为2016-10-21~2016-10

我的数据如下所示:

id, date, target
1,2016-10-24,22
1,2016-10-25,31
1,2016-10-27,44
1,2016-10-28,12
2,2016-10-21,22
2,2016-10-22,31
2,2016-10-25,44
2,2016-10-27,12
我想在id中填写缺失的日期。 例如,id=1的日期范围为2016-10-24~2016-10-28,缺少2016-10-26。此外,id=2的日期范围为2016-10-21~2016-10-27,缺少2016-10-23、2016-10-24和2016-10-26。 我想填写缺失的日期,并将目标值填写为0

因此,我希望我的数据如下:

id, date, target
1,2016-10-24,22
1,2016-10-25,31
1,2016-10-26,0
1,2016-10-27,44
1,2016-10-28,12
2,2016-10-21,22
2,2016-10-22,31
2,2016-10-23,0
2,2016-10-24,0
2,2016-10-25,44
2,2016-10-26,0
2,2016-10-27,12
有人能帮我吗

提前感谢。

您可以与一起使用-然后是问题
fillna
-因此首先需要:

#if necessary convert to datetime
df.date = pd.to_datetime(df.date)
df = df.set_index('date')
df = df.groupby('id').resample('d')['target'].asfreq().fillna(0).astype(int).reset_index()
print (df)
    id       date  target
0    1 2016-10-24      22
1    1 2016-10-25      31
2    1 2016-10-26       0
3    1 2016-10-27      44
4    1 2016-10-28      12
5    2 2016-10-21      22
6    2 2016-10-22      31
7    2 2016-10-23       0
8    2 2016-10-24       0
9    2 2016-10-25      44
10   2 2016-10-26       0
11   2 2016-10-27      12