Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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 熊猫-用日期范围填充datafram_Python_Pandas_Datetime - Fatal编程技术网

Python 熊猫-用日期范围填充datafram

Python 熊猫-用日期范围填充datafram,python,pandas,datetime,Python,Pandas,Datetime,假设这是我的df: Name1 Name2 date 1 John Jay 2015-01-01 06:01:00 2 Sara Debra 2015-01-01 06:05:00 3 Ben Beth 2015-01-01 06:09:00 我想填写df,其中每一行都应该被复制并递增1分钟,直到它到达下一行,因此输出应该是: Name1 Name2 date 1 John Jay 2015-01-0

假设这是我的df:

  Name1    Name2       date 
1 John     Jay   2015-01-01 06:01:00
2 Sara     Debra 2015-01-01 06:05:00
3 Ben      Beth  2015-01-01 06:09:00 
我想填写df,其中每一行都应该被复制并递增1分钟,直到它到达下一行,因此输出应该是:

  Name1    Name2       date 
1 John     Jay   2015-01-01 06:01:00
1 John     Jay   2015-01-01 06:02:00
1 John     Jay   2015-01-01 06:03:00
1 John     Jay   2015-01-01 06:04:00
2 Sara     Debra 2015-01-01 06:05:00
2 Sara     Debra 2015-01-01 06:06:00
3 Ben      Beth  2015-01-01 06:07:00 
我查看了date_的范围,但没有找到一个合适的方法来实现这一点,而没有一个丑陋且低效的for循环


任何帮助都将不胜感激

如果所有日期时间都是唯一的,则可以使用:

对于使用
DatetimeIndex
和的me解决方案:


试试这个:

df.resample('60S', on='date').pad()

这是一个简单的情况,即先进行上采样,然后再进行
pad()
,以填充缺少的值。

这是否回答了您的问题?
df1 = df.set_index('date').resample('1Min').ffill().reset_index().reindex(df.columns, axis=1)
print (df1)
  Name1  Name2                date
0  John    Jay 2015-01-01 06:01:00
1  John    Jay 2015-01-01 06:02:00
2  John    Jay 2015-01-01 06:03:00
3  John    Jay 2015-01-01 06:04:00
4  Sara  Debra 2015-01-01 06:05:00
5  Sara  Debra 2015-01-01 06:06:00
6  Sara  Debra 2015-01-01 06:07:00
7  Sara  Debra 2015-01-01 06:08:00
8   Ben   Beth 2015-01-01 06:09:00
df.resample('60S', on='date').pad()