pandas.DataFrame` is now accepted as an `outputtype`. This means that you can iterate over DataFrames with
python
>>> for df in uproot.iterate("/lots/of/files/*.root", "treepath",
... ["favorite*", "branches*"],
... outputtype=pandas.DataFrame):
... do_whatever(df)
and the DataFrames `df` will have the right indexes. In a single file,
python
>>> for df in tree.iterate(["favorite*", "branches*"],
... outputtype=pandas.DataFrame,
... entrystart=100, entrystop=1000):
... do_whatever(df)
this means the indexes start at `entrystart` and stop before `entrystop`, but in an iteration over multiple files (the first example), the indexes are non-overlapping global indexes— the same as you would get from `reportentries`. Loosely speaking, `reportentries` + Numpy arrays == Pandas DataFrame.
Note that `tree.pandas.df(...)` is now just a synonym for `tree.arrays(..., outputtype=pandas.DataFrame)`.