pandas resampling without performing statistics
You can resample to 15 min and take the 'first' of each group:
In [40]: df.resample('15min').first()
Out[40]:
A B C D
2011-01-01 00:00:00 -0.415637 -1.345454 1.151189 -0.834548
2011-01-01 00:15:00 0.221777 -0.866306 0.932487 -1.243176
2011-01-01 00:30:00 -0.690039 0.778672 -0.527087 -0.156369
...
Another way to do this is constructing the new desired index and do a reindex (this is a bit more work in this case, but in the case of a irregular time series this ensures it takes the data at exactly each 15min):
In [42]: new_rng = pd.date_range('1/1/2011', periods=20, freq='15min')
In [43]: df.reindex(new_rng)
Out[43]:
A B C D
2011-01-01 00:00:00 -0.415637 -1.345454 1.151189 -0.834548
2011-01-01 00:15:00 0.221777 -0.866306 0.932487 -1.243176
2011-01-01 00:30:00 -0.690039 0.778672 -0.527087 -0.156369
...
Function asfreq() doesn't do any aggregation:
df.asfreq('15min')