でもBinyamin:
これは私の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
私はそれが次の行に到達するまで、各行が1分単位で複製され、インクリメントされなければならないDFに記入したいので、出力は次のようになります。
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_RANGEに見えたが、私は醜いとループのために非効率的なせずにこれを行うための適切な方法を見つけることができませんでした。
任意の助けいただければ幸い!
エズレル:
すべての日付時刻が一意である場合は、使用することができますDataFrame.asfreq
:
df['date'] = pd.to_datetime(df['date'])
df1 = (df.set_index('date')
.asfreq('Min', method='ffill')
.reset_index().reindex(df.columns, axis=1))
私のソリューションのためDataFrame.resample
の作業DatetimeIndex
とResampler.ffill
:
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