Issue 1:
As pointed out by @dsm054, there are multiple lurking split/partition API requests. Here are the issues and a short summary of what they would do (there are some duplicates here, I've checked off those issues/PRs that have been closed in favor of a related issue):

#414: (i think) original issue for these ideas going back 3 years

#936: windowing with time-length windows like pd.rolling_mean(ts, window='30min') and possibly even arbitrary windows using another column

#3066: split method on pandas objects, playing around with ideas

#3101: a closed PR by @y-p to use the args of lambda to group a frame into views of a sliding window

#3685: resampling using the first n samples of a bin.

#4059: np.array_split style API where you can split a pandas object into a list of k groups of possibly unequal size (could be a thin wrapper around np.array_split, or more integrated into the pandas DSL). IMO, this issue provides the best starting point for an API. SO usage

#5494: an API for to allow pandas' groupby to have itertools.groupby semantics (i.e., preserve the order of duplicated group keys), i.e., 'aabbaa' would yield groups ['aa', 'bb', 'aa'] rather than ['aaaa', 'bb']. There'd have to be some changes to the use of dict in the groupby backend as noted by @y-p here #4059 (comment).

#6675: Ability to select ranged groups via another column, like "select all rows between the values X and Y from column C", e.g., an "events" column where you have a start and end markers and you want to get the data in between the markers. There are a couple of ways you can do this, but it would be nice to have an API for this. This is very similar to #936.

The toolz library has a partitionby function that provides a nice way to do some of the splitting on sequences and might provide us with some insight on how to approach the API.

cc @jreback @jorisvandenbossche @hayd @danielballan

Issue 2:
Code Sample, a copy-pastable example if possible

cols = ['15:00:00', '15:01:00', '15:02:00', '15:02:30']
cols_td = pd.to_timedelta(cols)

df = pd.DataFrame(0, index=range(4), columns=cols_td)

vw1 = df.loc[:, :cols[-2]]
vw2 = df.loc[:, :cols_td[-2]]
print(vw1)
print(vw2)

print('Statement below must be equal')
print(vw1.equals(vw2))

Problem description

vw1 is wrong. vw2 is correct

Slicing TimdeltaIndex DataFrame with string doesn't seem to work. It doesn't take into account seconds

Expected Output

Both views must be equal

Output of pd.show_versions()

INSTALLED VERSIONS

commit: None

python: 3.6.3.final.0

python-bits: 64

OS: Windows

OS-release: 10

machine: AMD64

processor: Intel64 Family 6 Model 79 Stepping 1, GenuineIntel

byteorder: little

LC_ALL: None

LANG: None

LOCALE: None.None

pandas: 0.20.3

pytest: 3.2.1

pip: 9.0.1

setuptools: 36.5.0.post20170921

Cython: 0.26.1

numpy: 1.13.3

scipy: 0.19.1

xarray: None

IPython: 6.1.0

sphinx: 1.6.3

patsy: 0.4.1

dateutil: 2.6.1

pytz: 2017.2

blosc: None

bottleneck: 1.2.1

tables: 3.4.2

numexpr: 2.6.2

feather: None

matplotlib: 2.1.0

openpyxl: 2.4.8

xlrd: 1.1.0

xlwt: 1.3.0

xlsxwriter: 1.0.2

lxml: 4.1.0

bs4: 4.6.0

html5lib: 0.999999999

sqlalchemy: 1.1.13

pymysql: None

psycopg2: None

jinja2: 2.9.6

s3fs: None

pandas_gbq: None

pandas_datareader: None